pandas总结-----2

数据格式转换

DataFrame数据类型每一列的数据格式是一致的

1、查看格式
df['院校名称'].dtype		

2、格式转化
df['院校名称']=df['院校名称'].astype('str')

在进行格式转化时可能会出现报错,这是因为数据格式不一致,可以根据报错信息找到具体出错的数据,对该报错数据进行处理之后再进行格式转化。

排序

默认排序是根据index进行排序的
1,按照投票人数进行排序
df.sort_values(by='投票人数')			:默认从小到大排序
df.sort_values(by='投票人数',ascending=False)		:降序排序

2、按照年代进行排序
df.sort_values(by='年代')			
df.sort_values(by='年代',ascending=False)

3,多个值进行排序
先按照评分,再按照投票人数进行排序
df.sort_values(by=['评分','投票人数'],ascending=False)

基本统计分析

1、描述性统计
df.describe()
通过描述性统计,可以发现一些异常值,很多异常值往往是需要我们逐步去发现

通过判断去查看有无异常值
df[df['年代']>2019]	
df[df['时长']>1000]

2、最值
df['投票人数'].max()		投票人数最大
df['投票人数'].min()		投票人数最小

3、均值和中值
df['投票人数'].mean()			投票人数的平均值
df['投票人数'].median()			投票人数的中值

4、方差和标准差
df['投票人数'].var()			投票人数的方差
df['投票人数'].std()			投票人数的标准差

5、求和
df['投票人数'].sum()			投票人数的总和

6、相关系数、协方差
df[['投票人数','评分']].corr()		相关系数
相关性越小越不相关
df[['投票人数','评分']].cov() 		协方差

7、计数
len(df)		

8、统计唯一值
df['产地'].unique()				产地的唯一值
len(df['产地'].unique())			产地唯一值的个数

9、数据替换

单个替换
df['产地'].replace('USA','美国',inplace=True)
replace的参数
第一个:要被替换的值
第二个:要替换的值
inplace:保存

多个同时替换
df['产地'].replace(['西德','苏联'],['德国','俄罗斯'],inplace=True)
['西德','苏联'],['德国','俄罗斯']		前后位置参数对应替换

10、计算每一年电影的数量
df['年代'].value_counts()			默认数量从大到小排序

df['产地'].value_counts()[:5]		电影产出前5的国家或地区

jupyter显示问题

由于数据量太大,数据显示会出现省略,如果一定要查看,我们可以进行以下设置
pd.set_option('max_columns',100)		最大展示100列
pd.set_option('max_rows',500)			最大展示500

数据透视

pivot_table
参数:
第一个:DateFrame
第二个:index	指定索引(按照什么索引进行聚合展示)
第三个:values	指定需要汇总的数据
第四个:aggfunc	指定函数

1、基础形式
pd.pivot_table(df,index=['年代'])		以年代为索引,计算所有类别的均值

2、多个索引
pd.pivot_table(df,index=['年代’,‘产地’])		所有数据的聚合展示

3、指定需要统计汇总的数据
pd.pivot_table(df,index=['年代’,‘产地’],values=['评分'])
只对评分进行展示

4、指定函数,(默认是平均值)
pd.pivot_table(df,index=['年代','产地'],values=['投票人数'],aggfunc=np.sum)		根据年代、产地的投票人数的总和
举例:通过将‘投票人数’列和‘评分’列进行对应分组,对‘产地’实现数据聚合和总结(总数和均值)
pd.pivot_table(df,index=['产地'],values=['投票人数','评分'],aggfunc=[np.sum,np.mean])

5、非数值处理(NaN)
pd.pivot_table(df,index=['产地'],aggfunc=[np.sum,np.mean],fill_value=0)		非数值替换为0

6、margins=True在下方展示总和数据
pd.pivot_table(df,index=['产地'],aggfunc=[np.sum,np.mean],fill_value=0,margins=True)

7、对不同的值进行不同的函数,aggfunc传递一个字典

对各个地区的投票人数求和,对评分求均值
pd.pivot_table(df,index=['地区'],values=['投票人数','评分'],aggfunc={'投票人数':np.sum,'评分':np.mean},fill_value=0)

对各个年份的投票人数求和,对评分求均值
pd.pivot_table(df,index=['年份'],values=['投票人数','评分'],aggfunc={'投票人数':np.sum,'评分':np.mean},fill_value=0)

8、透视表过滤
将结果赋值个变量,对变量进行操作
table=pd.pivot_table(df,index=['年份'],values=['投票人数','评分'],aggfunc={'投票人数':np.sum,'评分':np.mean},fill_value=0)

你可能感兴趣的:(python,Pandas,数据分析,数据挖掘)