Le message n ° 4 pour les débutants concerne les techniques de visualisation des données.
L'importance de la visualisation
Des techniques de visualisation simples, telles que celles présentées précédemment, vous permettent de transmettre une grande quantité d'informations de manière concise. Ils complètent les statistiques récapitulatives que nous avons calculées précédemment dans cette série d'articles, et il est donc très important de pouvoir les utiliser. Les statistiques telles que la moyenne et l'écart type cachent inévitablement beaucoup d'informations car elles regroupent la séquence en un seul nombre.
Le mathématicien anglais Francis Anscombe a compilé une collection de quatre diagrammes de points, maintenant connus sous le nom de quatuor Anscombe , qui ont des propriétés statistiques presque identiques (y compris la moyenne, la variance et l'écart type). Malgré cela, ils montrent clairement que la distribution des valeurs des séquences et est très divergente:
, . , 2013 .:
, — 30% — . , — - .
, , , . , , , . 30% , . , 5% .
, 1938 ., . , 50 : , 1, .
, , , , , , . , , , .
, , . sp.random.normal
scipy, . 0 1, , . 70150 7679.
. :
def ex_1_24():
'''
'''
emp = load_uk_scrubbed()['Electorate']
fitted = stats.norm.rvs(emp.mean(), emp.std(ddof=0), len(emp))
df = empirical_cdf(emp)
df2 = empirical_cdf(fitted)
ax = df.plot(0, 1, label='')
df2.plot(0, 1, label='', grid=True, ax=ax)
plt.xlabel('')
plt.ylabel('')
plt.legend(loc='best')
plt.show()
:
, . , .
, , :
def ex_1_25():
'''
'''
qqplot( load_uk_scrubbed()['Electorate'] )
plt.show()
, :
, . , , , .
, , , . Victors () , (Con) - (LD) , .
def ex_1_26():
''' ""
'''
df = load_uk_scrubbed()
df[''] = df['Con'] + df['LD']
freq = Counter(df['Con'].apply( lambda x: x > 0 ))
print(' "": %d, .. %d'
% (freq[True], freq[False]))
"": 631, .. 19
, 19 . , - : Con LD ( ), , ? Counter, :
'''
" " (Con)
"- " (LD)'''
df = load_uk_scrubbed()
Counter(df['Con'].apply(lambda x: x > 0)),
Counter(df['LD'].apply(lambda x: x > 0))
(Counter({False: 19, True: 631}), Counter({False: 19, True: 631}))
, , . isnull
, , , :
def ex_1_27():
''' ,
" " (Con)
"-" (LD) '''
df = load_uk_scrubbed()
rule = df['Con'].isnull() & df['LD'].isnull()
return df[rule][['Region', 'Electorate', 'Con', 'LD']]
|
Region |
Electorate |
Con |
LD |
12 |
Northern Ireland |
60204.0 |
NaN |
NaN |
13 |
Northern Ireland |
73338.0 |
NaN |
NaN |
14 |
Northern Ireland |
63054.0 |
NaN |
NaN |
… |
… |
… |
… |
… |
584 |
Northern Ireland |
64594.0 |
NaN |
NaN |
585 |
Northern Ireland |
74732.0 |
NaN |
NaN |
, . , . , ? . , - , - , . , , , — — , .
, , , , . , , :
def load_uk_victors():
''' ,
'''
df = load_uk_scrubbed()
rule = df['Con'].notnull()
df = df[rule][['Con', 'LD', 'Votes', 'Electorate']]
df[''] = df['Con'] + df['LD']
df[' '] = df[''] / df['Votes']
df[''] = df['Votes'] / df['Electorate']
return df
: Victors, Victors Share Turnout, .. , . , , :
def ex_1_28():
'''
'''
qqplot( load_uk_victors()[' '] )
plt.show()
:
, , , , , « » . , , , .
, 5, «Python, » .