本文共 2863 字,大约阅读时间需要 9 分钟。
在整个DataFrame上使用describe()
,我们可以得到一个统计结果:
import pandas as pd# 加载数据movies_df = pd.read_csv("IMDB-Movie-Data.csv", index_col="Title")movies_df.columns = ['rank', 'genre', 'description', 'director', 'actors', 'year', 'runtime', 'rating', 'votes', 'revenue_millions', 'metascore']# 应用describemovies_df.describe()
输出
rank year runtime rating votes revenue_millions metascorecount 1000.000000 1000.000000 1000.000000 1000.000000 1.000000e+03 872.000000 936.000000mean 500.500000 2012.783000 113.172000 6.723200 1.698083e+05 82.956376 58.985043std 288.819436 3.205962 18.810908 0.945429 1.887626e+05 103.253540 17.194757min 1.000000 2006.000000 66.000000 1.900000 6.100000e+01 0.000000 11.00000025% 250.750000 2010.000000 100.000000 6.200000 3.630900e+04 13.270000 47.00000050% 500.500000 2014.000000 111.000000 6.800000 1.107990e+05 47.985000 59.50000075% 750.250000 2016.000000 123.000000 7.400000 2.399098e+05 113.715000 72.000000max 1000.000000 2016.000000 191.000000 9.000000 1.791916e+06 936.630000 100.000000
可以看到,结果中包含了:count(总数),mean(平均值),min(最小值)等等。
describe()
也可以用在一个Series上:
movies_df['genre'].describe()
输出
count 1000unique 207top Action,Adventure,Sci-Fifreq 50Name: genre, dtype: object
可以看到,这个列有207个不同的值,最高的值是Action,Adventure,Sci-Fi
,显示50次(freq)。
value_counts()
可以告诉我们一个列中所有值的出现频率:
movies_df['genre'].value_counts().head(10)
输出
Action,Adventure,Sci-Fi 50Drama 48Comedy,Drama,Romance 35Comedy 32Drama,Romance 31Animation,Adventure,Comedy 27Action,Adventure,Fantasy 27Comedy,Drama 27Comedy,Romance 26Crime,Drama,Thriller 24Name: genre, dtype: int64
corr()
方法可以分析出每个列之间关系,是正相关还是负相关。
movies_df.corr()
输出
rank year runtime rating votes revenue_millions metascorerank 1.000000 -0.261605 -0.221739 -0.219555 -0.283876 -0.271592 -0.191869year -0.261605 1.000000 -0.164900 -0.211219 -0.411904 -0.126790 -0.079305runtime -0.221739 -0.164900 1.000000 0.392214 0.407062 0.267953 0.211978rating -0.219555 -0.211219 0.392214 1.000000 0.511537 0.217654 0.631897votes -0.283876 -0.411904 0.407062 0.511537 1.000000 0.639661 0.325684revenue_millions -0.271592 -0.126790 0.267953 0.217654 0.639661 1.000000 0.142397metascore -0.191869 -0.079305 0.211978 0.631897 0.325684 0.142397 1.000000
如上所示,正数表示正相关,一个上升,另一个上升;负数表示负相关,一个上升,另一个下降。1.0表示完全相关。
corr()
方法对于这些列之间的相互关系分析是很有用的。
转载地址:http://faivz.baihongyu.com/