2.1数据格式的转换
查看格式
df[].dtype
转化格式
df[]=df[].astype(int)# 将目标列转换为 int
#将年份转化成整数
df['年代']=df['年代'].astype(int)
#因为 年代中可以存在不能转换的格式
ValueError: invalid literal for int() with base 10: '2008\u200e'
df[df.年代=='2008\u200e']['年代'].values
df.loc[14934,'年代']=2009
2.2 排序
按照某一列数值进行排序
df.sort_values(by=['投票人数',],ascending=True) #单个关键字升序排列
df.sort_values(by=['投票人数',],ascending=False)#单个关键字降序排列
df.sort_values(by=['评分','投票人数'],ascending=False)[:5]# 多个关键字进行排序
2.3 基本统计分析
2.3.1 描述性统计
dataframe.describe()
可以根据返回的 描述性统计 发现一些异常值,很过异常值需要逐步发现。
df[df.年代>2018] #返回符合条件的 数组
df.drop(df[df.年代>2018].index,inplace=True)# df[df.年代>2018].index 返回符合条件的数组的index
!! 需要注意的事drop之后 连带index也会被删除,也就是 现在index已经不是连续的了
# 对index 进行重新设置
df.index=range(len(df))
2.3.2 值
df.投票人数.max() #最大值
df.投票人数.min() #最小值
df.投票人数.mean()#均值
df.投票人数.median()#中位数
df.投票人数.var()#方差
df.投票人数.std()#标准差
df.投票人数.sum()#求和
df[[‘投票人数’,'评分’]].corr() #相关系数
df[[‘投票人数’,'评分’]].cov() #协方差
2.3.3 计数
len(df) # 全部数值的个数
df.产地.unique() #对某列唯一值的统计
也可以 len(df.产地.unique()) # 查看唯一值的个数
计算每一年的电影数量
df.年代.value_counts() #将‘年代’中的数据进行统计 eg:2018 出现 300次 并且出现次数进行降序排列
2.3.4 替换数据
df.产地.replace('USA','美国',inplace=True) #让‘美国’ 替换 "USA" 单个值替换
df.产地.replace(['USA','西德'],["美国","德国"],inplace=True) #多个值替换
数据透视表
1.基础形式
pd.set_option(‘max_columns’,100)#对返回的数展示据进行输出设置
pd.set_option(‘max_rows’,500)
pd.pivot_table(df,index=['年代']) # 两个参数:df 是一个DataFrame,需要一个索引
‘# 将df中的数据按照年代 去计算一个均值 比如 有六个1888 有六个数据 就计算6个的平均数 聚合计算
2.多个索引也是可以的
pd.pivot_table(df,index=["年代","产地"])
3.按照指定的列名进行统计
pd.pivot_table(df,index=["年代","产地"],values=['评分']) #只要评分
4.指定函数进行统计
pd.pivot_table(df,index=['年代','产地'],values=['投票人数','评分'],aggfunc=[np.sum,np.mean])#指定一个函数进行统计
5.非数值(NaN) 处理,使用fill_value 将其设置为0
pd.pivot_table(df,index=['产地'],aggfunc=[np.sum,np.mean],fill_value=0)
6. 加入marigins= 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,margins= True)
#可以对 投票人数 以及评分 使用字典中对应函数进行计算