pandas模块总结复习

这次真的用到了pandas模块,因此在这里记录一下自己的理解,希望和大家一起学习。

文章目录


前言

pandas库是一个非常强大的库,在没接触pandas库之前处理excel数据一直用openpyxl模块,代码很多,效率很低,因此这里详细记录pandas库,发誓往后尽量少用openpyxl模块。


提示:以下学习内容

一、pandas是什么?

pandas库在我的理解中是一个多维数据的强大处理器,但它是在numpy的基础之上建立的,因此我们在导入pandas库之前,需要先导入numpy数据库。pandas库中我用到的有一下几个:

1、数据基本信息查看:

数据维度查看(shape)、基本信息查看(info)、格式查看(dtype)、查看唯一值(unique)、查看列名(columns)、查看值(values)、查看前几行和后几行(head和tail)

2、数据清洗

填充0到空值(fillna(value=0));
平均值进行填充df[‘data’](fillna(df[‘data’].mean()));
清除空格df[‘data’].map(str.strip)
更改数据格式df[‘data’].astype(‘int’)
更改列名称df.rename(columns={‘old_name’, ‘new_name’})
数据替换df.replace(‘sh’,‘shanghai’)

3、数据表处理

merge:
匹配合并交集:pd.merge(df1, df2,how=‘inner’)
左边匹配:pd.merge(df1, df2,how=‘left’)
右边匹配:pd.merge(df1, df2,how=‘right’)
匹配并集:pd.merge(df1, df2,how=‘outer’)
追加:df1.append(df2)
join:
df1.join(df2, on=‘key’)

4、设置索引

设置id为索引 set.index(‘id’)
特定列进行排序 sort_values(by=[‘age’])
索引列进行排序 sort_index()
where设置显示内容,这个不太会
np.where(df_inner[‘price’] >3000,‘high’,‘low’)

5、数据提取

三个函数 loc、iloc、ix,loc函数按标签值进行提取,iloc按位置进行提取,ix可以同时按标签和位置进行提取。
提取单行的数值 df.loc[3]
提取一定范围的行数值 df.iloc[0:5]
重设索引 df.set_index(‘data’)
提取前五个数据 df[:5]
提取指定区域内容 df.iloc[:2, :3]
提取单独位置的数据 df.iloc[[0, 2, 5], [3, 4]]
判断数值是否为250 df[2].isin([250])
ix用法 df_inner.ix[:‘2013-01-03’,:4] #2013-01-03号之前,前四列数据

6、数据汇总

对所有列进行数据汇总 df.groupby(‘data’).count()
对city字段进行id数据汇总 df.groupby(‘city’)[‘id’].count()
对两个字段进行id数据汇总df.groupby([‘city’, ‘size’])[‘id’].count()

总结

提示:本文是从下面文章中汇总得到,加上一点自己理解,因此感谢博主分享。https://yiyele.blog.csdn.net/article/details/80605909

上一篇:spark dataset 相同列名 join


下一篇:减少复制黏贴的代码行 2