pandas包含数据结构和数据处理工具的设计使得在Python中进行数据清洗和分析非常快捷。pandas经常是和NumPy,Scipy以及数据可视化工具matplotlib一起使用的。pandas支持大部分NumPy语言风格的数组计算,但最大的不同在于pandas是用于处理表格型或异质型数据的。而NumPy更适合处理同质型的数值类数组数据。

在第一次学习Pandas的过程中,你会发现你需要记忆很多的函数和方法。所以在这里我们汇总一下Pandas官方文档中比较常用的函数和方法,以方便大家记忆。

df:任意的Pandas DataFrame对象
s: 任意的Pandas Series对象

一、关键包导入:

  • import pandas as pd
  • import numpy as np

二、导入数据:

  • pd.read_csv(filename) 逗号是默认分隔符
  • pd.read_table(filename) 制表符('')是默认分隔符
  • pd.read_excel(filename) 读取Excel数据
  • pd.read_sql(query, connection_object):从SQL表/库导入数据
  • pd.read_json(json_string):读JSON格式
  • pd.DataFrame(dict):从字典对象导入数据,Key是列名,Value是数据

pd.read_csv(flie,header=,sep=,na_values=,skiprows=,nrows=,chunksize=,index_col=,names=)

  • header:用作列名的行号,默认是0(第一行),如果没有列名的话,应该是None
  • sep:用于分隔每行字段的字符序列或是正则表达式
  • na_values:需要用NA替换的值序列
  • skiprows:从文件开头处起,需要跳过的行数或行号列表
  • nrows:从文件开头处读入的行数
  • chunksize:用于迭代的块大小
  • index_col:用作结果中行索引的列号或列名,可以是一个单一的名称/数字,也可以是一个分层索引
  • names:结果的列名列表

三、导出数据:

  • df.to_csv(filename):导出数据到CSV文件
  • df.to_excel(filename):导出数据到Excel
  • df.to_sql(table_name, connection_object):导出数据到SQL表
  • df.to_json(filename):以Json格式导出数据到文本文件

四、创建对象

  • obj=pd.Series([4,7,-5],index=['a','b','c'])
  • obj=pd.DataFrame(data,columns=['year'],index=['one'])

五、查看数据:

  • df.head(n):查看DataFrame对象的前n行
  • df.tail(n):查看DataFrame对象的最后n行
  • df.info():查看索引、数据类型和内存信息
  • df.shape:查看行数和列数
  • df.describe():查看数值型列的汇总统计
  • df.dtypes:每一列数据的格式
  • df.isnull():查看某一列空值
  • df.columns :查看列名称
  • df.values:查看数据表的值
  • df['B'].unique():查看某一列的唯一值
  • s.value_counts():查看Series对象的唯一值和计数
  • df.apply(pd.value_counts).fillna(0):查看DataFrame对象中每一列的唯一值和计数,并对NA填充0

六、数据选取:

  • df[col]:根据列名,并以Series的形式返回列
  • df[[col1, col2]]:以DataFrame形式返回多列
  • df[n:m]:以DataFrame形式返回n到m-1行
  • df.loc[val]:根据标签选择单行或多行
  • df.loc[:,val]:根据标签选择单列或多列
  • df.loc[val1,val2]:同时选择行和列的一部分
  • df.iloc[where]:根据整数位置选择单行或多行
  • df.iloc[:,where]:根据整数位置选择单列或多列
  • df.iloc[where_i,where_j]:根据整数位置选择行和列

*loc切片是首尾闭区间;iloc切片是首闭尾开

七、数据清洗:

  • df.columns = ['a','b','c']:重命名列名
  • pd.isnull():检查DataFrame对象中的空值
  • pd.notnull():检查DataFrame对象中的非空值
  • df.dropna():删除所有包含空值的行
  • df.dropna(axis=1):删除所有包含空值的列
  • df.dropna(axis=1,thresh=n):删除所有小于n个非空值的行
  • df.fillna(x):用x替换DataFrame对象中所有的空值
  • s.astype(float):将Series中的数据类型更改为float类型
  • s.replace(1,'one'):用‘one’代替所有等于1的值
  • s.replace([1,3],['one','three']):用'one'代替1,用'three'代替3
  • df.rename(columns=lambda x: x + 1):批量更改列名
  • df.rename(columns={'old_name': 'new_ name'}):选择性更改列名
  • df.set_index('column_one'):更改索引列
  • df.rename(index=lambda x: x + 1):批量重命名索引
  • df.drop_duplicates() :删除后出现的重复值
  • df.drop_duplicates(keep='last'):删除先出现的重复值
  • df.drop_duplicates(['k1']) :基于k1列删除重复值
  • df['city']=df['city'].map(str.strip)
  • pd.cut(data,4) :分箱

八、数据处理:

  • df[df[col] > 0.5]:选择col列的值大于0.5的行
  • df.sort_values(col1):按照列col1排序数据,默认升序排列
  • df.sort_values(col2, ascending=False):按照列col1降序排列数据
  • df.sort_values([col1,col2], ascending=[True,False]):先按列col1升序排列,后按col2降序排列数据
  • df.groupby(col):返回一个按列col进行分组的Groupby对象
  • df.groupby([col1,col2]):返回一个按多列进行分组的Groupby对象
  • df.groupby('city')['id'].count() :按城市对id字段进行计数
  • df.groupby('city')['price'].agg([np.sum, np.mean]):对city字段进行汇总,并分别计算prince的合计和均值
  • df.pivot_table(index=col1,values=[col2,col3], aggfunc=max):创建一个按列col1进行分组,并计算col2和col3的最大值的数据透视表
  • df.groupby(col1).agg(np.mean):返回按列col1分组的所有列的均值
  • data.apply(np.mean):对DataFrame中的每一列应用函数np.mean
  • data.apply(np.max,axis=1):对DataFrame中的每一行应用函数np.max

九、数据合并:

  • df1.append(df2):将df2中的行添加到df1的尾部
  • pd.concat([df1, df2],axis=1):将df2中的列添加到df1的尾部
  • df1.join(df2,on=col1,how='inner'):对df1的列和df2的列执行SQL形式的join
  • pd.merge(df1,df2,on='key') : 按指定连接键合并

*pd.concat():join接收inner或outer。表示其他轴向上的索引是按交集(inner)还是并集(outer)进行合并。默认为outer。当axis=1的时候,concat做行对齐,然后将不同列名称的两张或多张表合并。当两个表索引不完全一样时,可以使用join参数选择是内连接还是外连接。在内连接的情况下,仅仅返回索引重叠部分。在外连接的情况下,则显示索引的并集部分数据,不足的地方则使用空值填补。axis=0时同理

*df.append():append方法也可以用于纵向合并两张表。但是append方法实现纵向表堆叠有一个前提条件,那就是两张表的列名需要完全一致

*pd.merge()常用参数:

十、数据统计:

  • df.describe():查看数据特征的汇总统计
  • df.mean():返回所有列的均值
  • df.corr():返回列与列之间的相关系数
  • df.count():返回每一列中的非空值的个数
  • df.max():返回每一列的最大值
  • df.min():返回每一列的最小值
  • df.idxmin():返回最小值所在的索引标签
  • df.argmin():返回最小值所在的索引位置
  • df.median():返回每一列的中位数
  • df.std():返回每一列的标准差

*传入axis=’columns'或者axis=1,则会对一行上各列值进行操作。

除非整个切片都是NA,否则NA值是自动被排除的,可以通过禁用skipna来实现不排除NA值:skipna=False


文末福利:

网上可以搜到大量的Pandas教程和官方文档,但没有简单的方法来练习。教程是很好的资源,但要付诸实践。只有实践,才能更好的加深学习。针对pandas库函数的一些常用用法,本站搜索到了一些关于Pandas的练习题含答案,每一个类型包含了相应的练习数据、题目、注释以及解答等4个文件。大家可以根据自己的薄弱点针对性训练,相信一定能有所提高!

点赞,评论,转发,后台回复【Pandas学习】即可获得这些练习题资料!

pandas 合并所有列_Python学习:Pandas库+练习资料相关推荐

  1. pandas 合并所有列_Python学习:Pandas库

    pandas包含数据结构和数据处理工具的设计使得在Python中进行数据清洗和分析非常快捷.pandas经常是和NumPy,Scipy以及数据可视化工具matplotlib一起使用的.pandas支持 ...

  2. python合并csv文件_Python学习——pandas 合并csv文件

    import pandas as pd import os import re import numpy as np Folder_Path = r'C:/Users/Cable-Ching\Desk ...

  3. python pandas 增加一列_Python之pandas新增列

    1.导入模块 >>> import pandas as pd 2.解决DataFrame中的行列显示不全问题 >>> pd.set_option('display. ...

  4. python pandas excel 修改列_Python中Pandas读取修改excel操作攻略(代码示例)

    本篇文章给大家带来的内容是关于Python中Pandas读取修改excel操作攻略(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 环境:python 3.6.8 以某米赛 ...

  5. pandas 合并所有列_图解Python表格操作包Pandas

    Pandas 是 Python 的核心数据分析支持库,提供了快速.灵活.明确的数据结构,旨在简单.直观地处理关系型.标记型数据.Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工 ...

  6. excel去掉一行文字中的逗号合并在一起_Python使用pandas库五行代码合并excel

    使用用Python快速合并excel,相比使用VBA代码更简洁,但是使用到 glob 和pandas 两个库,其中glob为标准库无需安装,pandas需要pip安装.代码如下: import 代码解 ...

  7. pandas打印全部列_python——pandas练习题1-5

    练习1-开始了解你的数据 探索Chipotle快餐数据 相应数据集:chipotle.tsv import pandas as pd chipo=pd.read_csv("exercise_ ...

  8. python用pandas读取excel指定列_Python用Pandas读写Excel

    Pandas是python的一个数据分析包,纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. Pandas提供了大量能使我们快速便捷地处理数据的函数和方法. 一.安装包 pan ...

  9. python pandas 读取excel 去重某一列_Python中Pandas读取修改excel操作攻略(代码示例)...

    本篇文章给大家带来的内容是关于Python中Pandas读取修改excel操作攻略(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 环境:python 3.6.8 以某米赛 ...

最新文章

  1. 让AI说话告别三观不正,OpenAI只用80个文本就做到了
  2. jquery学习手记(5)对象
  3. 真是一分钱一分货 NVme SSD都有哪些优势?
  4. CC2540 串口0 通道2配置
  5. android十进制转十六进制算法,十进制转十六进制 代码
  6. PyQt5 关于Qt Designer的初步应用和打包
  7. 操作系统内存管理、Cache调度策略学习
  8. 傻瓜式硬盘重装win7系统图文加视频教程
  9. violate、内存屏障
  10. Win11添加新的Microsoft Teams集成:共享屏幕变得更容易
  11. 51单片机 Proteus仿真 身高体重测量 HX711 超声波SR-04
  12. xmapp老是端口占用
  13. sqlite内存模式
  14. JAVA实现PDF合并、拆分代码工具类
  15. 几何公差基础知识之平行度
  16. Apache Pulsar 社区发起 Pulsar Women 项目,促进女性参与开源社区
  17. Solidity简单例子-代理投票
  18. 阿里巴巴余军:钉钉宜搭低代码实践之路
  19. 学习 Linux 有哪些好处?
  20. pythonn 安装包 清华镜像_Python 清华镜像设置

热门文章

  1. 主攻计算机专业英语翻译,湖师大“博导”黄振定,主攻“翻译学”
  2. JavaExcel工具类(兼容xls和xlsx)
  3. java二维数组的遍历
  4. php mysql循环语句怎么写_mysql数据库循环语句该怎么写???
  5. android 服务器返回302,Android WebView 内处理302重定向不跳转的解决
  6. java velocity 邮件_邮件集成java mail + 读取邮件模板
  7. centos修改磁盘uuid_为什么MySQL用uuid做主键会被骂?
  8. 四种依恋类型_依恋关系的研究
  9. 因子分析——python
  10. android 手机号码显示加空格,Android实现输入手机号时自动添加空格