Python机器学习(九十二)Pandas 统计
Posted 大码王
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python机器学习(九十二)Pandas 统计相关的知识,希望对你有一定的参考价值。
describe
在整个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‘] # 应用describe movies_df.describe()
输出
rank year runtime rating votes revenue_millions metascore count 1000.000000 1000.000000 1000.000000 1000.000000 1.000000e+03 872.000000 936.000000 mean 500.500000 2012.783000 113.172000 6.723200 1.698083e+05 82.956376 58.985043 std 288.819436 3.205962 18.810908 0.945429 1.887626e+05 103.253540 17.194757 min 1.000000 2006.000000 66.000000 1.900000 6.100000e+01 0.000000 11.000000 25% 250.750000 2010.000000 100.000000 6.200000 3.630900e+04 13.270000 47.000000 50% 500.500000 2014.000000 111.000000 6.800000 1.107990e+05 47.985000 59.500000 75% 750.250000 2016.000000 123.000000 7.400000 2.399098e+05 113.715000 72.000000 max 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 1000 unique 207 top Action,Adventure,Sci-Fi freq 50 Name: genre, dtype: object
可以看到,这个列有207个不同的值,最高的值是Action,Adventure,Sci-Fi
,显示50次(freq)。
value_counts()
可以告诉我们一个列中所有值的出现频率:
movies_df[‘genre‘].value_counts().head(10)
输出
Action,Adventure,Sci-Fi 50 Drama 48 Comedy,Drama,Romance 35 Comedy 32 Drama,Romance 31 Animation,Adventure,Comedy 27 Action,Adventure,Fantasy 27 Comedy,Drama 27 Comedy,Romance 26 Crime,Drama,Thriller 24 Name: genre, dtype: int64
corr
corr()
方法可以分析出每个列之间关系,是正相关还是负相关。
movies_df.corr()
输出
rank year runtime rating votes revenue_millions metascore rank 1.000000 -0.261605 -0.221739 -0.219555 -0.283876 -0.271592 -0.191869 year -0.261605 1.000000 -0.164900 -0.211219 -0.411904 -0.126790 -0.079305 runtime -0.221739 -0.164900 1.000000 0.392214 0.407062 0.267953 0.211978 rating -0.219555 -0.211219 0.392214 1.000000 0.511537 0.217654 0.631897 votes -0.283876 -0.411904 0.407062 0.511537 1.000000 0.639661 0.325684 revenue_millions -0.271592 -0.126790 0.267953 0.217654 0.639661 1.000000 0.142397 metascore -0.191869 -0.079305 0.211978 0.631897 0.325684 0.142397 1.000000
如上所示,正数表示正相关,一个上升,另一个上升;负数表示负相关,一个上升,另一个下降。1.0表示完全相关。
corr()
方法对于这些列之间的相互关系分析是很有用的。
以上是关于Python机器学习(九十二)Pandas 统计的主要内容,如果未能解决你的问题,请参考以下文章
Python机器学习(九十一)Pandas 填充(Imputation)空值
“全栈2019”Java第九十二章:外部类与内部类成员覆盖详解