说起pandas这个是python数据清洗的利器,它可以让你像sql一样操作数据,同时可以对数据进行各种计算,转换完成后还可以方便的存储到excel,转化为array、Matrix供进一步(模型)使用。

但是网上关于pandas的知识点比较散,分门别类的来介绍pandas的常用函数,能够满足你对于pandas学习的所有需要,本文介绍的函数在实际中非常实用。

本文中,我们将使用如下缩写:

df #任何pandas DataFrame对象
s #任何pandas series对象

首先需要先导入2个库:

import pandas as pd
import numpy as np

从各种不同的来源和格式导入数据

pd.read_csv(filename) # 从CSV文件
pd.read_table(filename) # 从分隔的文本文件(例如CSV)中
pd.read_excel(filename) # 从Excel文件
pd.read_sql(query, connection_object) # 从SQL表/数据库中读取
pd.read_json(json_string) # 从JSON格式的字符串,URL或文件中读取。
pd.read_html(url) # 解析html URL,字符串或文件,并将表提取到数据帧列表
pd.read_clipboard() # 获取剪贴板的内容并将其传递给 read_table()
pd.DataFrame(dict) # 从字典中,列名称的键,列表中的数据的值

导出数据

使用以下命令将DataFrame导出为CSV,.xlsx,SQL或JSON。

df.to_csv(filename) # 写入CSV文件
df.to_excel(filename) # 写入Excel文件
df.to_sql(table_name, connection_object) # 写入SQL表
df.to_json(filename) # 以JSON格式写入文件

创建测试对象

pd.DataFrame(np.random.rand(20,5))               # 5列20行随机浮点数
pd.Series(my_list)                               # 从一个可迭代的序列创建一个序列 my_list
df.index = pd.date_range('1900/1/30', periods=df.shape[0]) # 添加日期索引

查看、检查数据

df.head(n)                       # DataFrame的前n行
df.tail(n)                       # DataFrame的最后n行
df.shape                         # 行数和列数
df.info()                        # 索引,数据类型和内存信息
df.describe()                    # 数值列的摘要统计信息
s.value_counts(dropna=False)     # 查看唯一值和计数
df.apply(pd.Series.value_counts) # 所有列的唯一值和计数

数据选取

使用这些命令选择数据的特定子集。
df[col]               # 返回带有标签col的列
df[[col1, col2]]      # 返回列作为新的DataFrame
s.iloc[0]             # 按位置选择
s.loc['index_one']    # 按索引选择
df.iloc[0,:]          # 第一行
df.iloc[0,0]          # 第一栏的第一元素

数据清理

使用这些命令可以执行各种数据清理任务。

df.columns = ['a','b','c']                  # 重命名列
pd.isnull()                                 # 空值检查,返回Boolean Arrray
pd.notnull()                                # 与pd.isnull() 相反
df.dropna()                                 # 删除所有包含空值的行
df.dropna(axis=1)                           # 删除所有包含空值的列
df.dropna(axis=1,thresh=n)                  # 删除所有具有少于n个非null值的行
df.fillna(x)                                # 将所有空值替换为x
s.fillna(s.mean())                          # 用均值替换所有空值(均值可以用统计模块中的几乎所有函数替换 )
s.astype(float)                             # 将系列的数据类型转换为float
s.replace(1,'one')                          # 1 用 'one'
s.replace([1,3],['one','three'])            # 替换所有等于的值 替换为所有1 'one' ,并 3 用 'three'
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[df[col] > 0.5]                      # 列 col 大于 0.5
df[(df[col] > 0.5) & (df[col] < 0.7)]  # 小于 0.7 大于0.5的行
df.sort_values(col1)                   # 按col1升序对值进行排序
df.sort_values(col2,ascending=False)   # 按col2 降序对值进行 排序
df.sort_values([col1,col2],ascending=[True,False]) #按 col1 升序排序,然后 col2 按降序排序
df.groupby(col)                        #从一个栏返回GROUPBY对象 df.groupby([col1,col2]) # 返回来自多个列的groupby对象
df.groupby(col1)[col2]                 # 返回中的值的平均值 col2,按中的值分组 col1 (平均值可以用统计模块中的几乎所有函数替换 )
df.pivot_table(index=col1,values=[col2,col3],aggfunc=mean) # 创建一个数据透视表组通过 col1 ,并计算平均值的 col2 和 col3
df.groupby(col1).agg(np.mean)          # 在所有列中找到每个唯一col1 组的平均值
df.apply(np.mean)                      #np.mean() 在每列上应用该函数
nf.apply(np.max,axis=1)                # np.max() 在每行上应用功能

数据合并

使用这些命令可以将多个数据帧组合为一个数据帧。

df1.append(df2)                   # 将df2添加 df1的末尾 (各列应相同)
pd.concat([df1, df2],axis=1)      # 将 df1的列添加到df2的末尾 (行应相同)
df1.join(df2,on=col1,how='inner') # SQL样式将列 df1 与 df2 行所在的列col 具有相同值的列连接起来。'how'可以是一个 'left', 'right', 'outer', 'inner'

数据统计

使用这些命令来执行各种统计测试。(这些也都可以应用于系列。)

df.describe()    # 数值列的摘要统计信息
df.mean()        # 返回均值的所有列
df.corr()        # 返回DataFrame中各列之间的相关性
df.count()       # 返回非空值的每个数据帧列中的数字
df.max()         # 返回每列中的最高值
df.min()         # 返回每一列中的最小值
df.median()      # 返回每列的中位数
df.std()         # 返回每列的标准偏差
本文翻译自文章:https://www.dataquest.io/blog/pandas-cheat-sheet/,同时添加了部分注解。
- END -
-----------------
长按识别下方二维码,并关注公众号1.回复“PY”领取1GB Python数据分析资料2.回复“BG”领取3GB 名企数据分析报告

66个最常用的pandas数据分析函数相关推荐

  1. Python数据分析之:pandas拓展数据分析函数(cum / rolling ) / 作图功能

    文章目录 1. pandas拓展数据分析函数 1.1 .cum() 1.1.1 .cumsum():累加 1.1.2 .cumprod():累乘 1.1.3 .cummax():前n个数依次求最大值 ...

  2. PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 47784 pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYS

    PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 标签: 47784 编辑 删除 pandas作者Wes McKinney 在[PYTHON FOR DA ...

  3. python对excel操作简书_Python实现EXCEL常用操作——pandas简介

    知乎的代码块太丑了,这里的内容就更新到简书了Python实现EXCEL常用操作--pandas简介​www.jianshu.com EXCEL是日常办公最常用的软件,然而遇到数据量特别大(超过10W条 ...

  4. 【Python】图解Pandas数据合并:concat、join、append

    公众号:尤而小屋 作者:Peter 编辑:Peter 图解pandas数据合并:concat+join+append 在上一篇文章中介绍过pandas中最为常用的一个合并函数merge的使用,本文中介 ...

  5. 几款强大的 Pandas 数据探索工具,推荐收藏使用

    对于 Python 数据分析领域,Pandas 绝对是中坚力量,那么围绕着这个工具,又衍生出了很多辅助工具,今天我们就一起来看看辅助 Pandas 来进行数据探索的几种工具 首先我们先来看看我们的测试 ...

  6. pandas数据合并与重塑_PANDAS 数据合并与重塑(concat篇)

    pandas作者Wes McKinney 在[PYTHON FOR DATA ANALYSIS]中对pandas的方方面面都有了一个权威简明的入门级的介绍,但在实际使用过程中,我发现书中的内容还只是冰 ...

  7. Cris 的 Python 数据分析笔记 05:Pandas 数据读取,索引,切片,计算,列整合,过滤,最值

    Pandas 数据读取,索引,切片,计算,列整合,过滤,最值 文章目录 Pandas 数据读取,索引,切片,计算,列整合,过滤,最值 1. read_csv 函数 2. DataFrame 数据结构的 ...

  8. 【转载】Python遍历pandas数据方法总结

    转载自脚本之家 https://www.jb51.net/article/134753.htm <Python遍历pandas数据方法总结> 贴4条常用的,其他的移步原帖链接. 列表解析方 ...

  9. Python pandas数据分列,分割符号固定宽度

    背景 数据分列在数据处理中很常见,数据分列一般指的都是字符串分割,这个功能在Excel里面很实用,处理数据非常方便,那么在pandas数据框中怎么使用呢,今天这篇文章就来详细介绍下 分列 模拟数据 以 ...

最新文章

  1. BZOJ 1801 [Ahoi2009]中国象棋(线性动规)(洛谷P2051)
  2. 五、逆向工程--myeclipse快速开发Hibernate项目
  3. Redis 基础——五大类型与数据结构
  4. 微课|中学生可以这样学Python(例11.2):tkinter猜数游戏(1)
  5. 布同:vim插件开发实例和讲解
  6. linux系统文件查找及管理
  7. height、clientHeight、scrollHeight、offsetHeight区别
  8. 虚拟机中部署ISA Server 2006 防火墙 网络设置(上)
  9. 关于 nektar 连接电脑使用的一些问题说明, nektar Impact GX61/GX49/SE25
  10. 如何使用ListView分页
  11. 填核酸采样资料,手机号填错了,身份证号码没错。
  12. 等额本息和等额本金实现步骤
  13. .equal(String)与Stirng.equal()的区别
  14. 致家长--为什么选择Scratch
  15. Failed resolution of: Landroid/webkit/TracingController;
  16. html图片水波浪,css 实现水波纹,波浪动画效果
  17. 一个新手学着重装系统之路
  18. 《设计模式》之命令模式
  19. [AGC048D]Pocky Game
  20. As4741G安装WindowsXP后的驱动安装方法

热门文章

  1. 根结祛除法怎样智斗(治痘)
  2. 水军!软文!割韭菜!ICO成为过街老鼠的十大败笔
  3. 计算机无法识别鼠标怎么设置,win10电脑不识别鼠标怎么处理
  4. Handler 与 IdleHandler 浅析
  5. 打开lol一直连接服务器失败怎么回事,lol连接服务器失败:无法连接服务器最新解决方法...
  6. php 获取当前时间
  7. 超级搞笑的笑话,不看后悔
  8. 如何能读取串口硬盘序列号(出厂唯一的序列号)
  9. rust: 初识 match
  10. webstorm忽略文件夹