Python基础之pandas:文件读取与数据处理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、文件读取

方法:

  • pd.read_csv()
  • pd.read_excel()
  • pd.read_json()
  • pd.read_sql()
  • pd.read_xml()

1.以pd.read_csv()为例:

在这里插入图片描述

2.数据查看

在这里插入图片描述
在这里插入图片描述
df.describe()方法只针对数值列的描述性统计
在这里插入图片描述
统计出现次数
在这里插入图片描述

二、数据离散化、排序

1.pd.cut()离散化,以按范围加标签为例

在这里插入图片描述

2. pd.qcut()实现离散化

cut是根据每个值进行离散化,qcut是根据每个值出现的次数进行离散,也就是基于分位数的离散化功能
在这里插入图片描述

3.排序

  • df.sort_index():按照默认索引按正序排序
    在这里插入图片描述
  • data1.sort_values()按照实际值排序
    在这里插入图片描述
  • Series.nlargest()获取前N个最大值,与之相对于的为Series.nsmallest()
    在这里插入图片描述

4.Series.map()&Series.apply()

  • Series.map()
    map()是Series中特有方法,通过它实现对Series每个元素互换
    在这里插入图片描述

  • Series.apply()和df.apply()
    apply()在对Series操作时,会作用到每个值上,在对DataFrame操作时,会作用到所有行或列(通过axis控制)
    在这里插入图片描述

  • df.applymap()
    applymap方法针对与DataFrame,其效果类似于apply对series的效果

  • pandas中map()、apply()、applymap()的区别:
    1、map()方法适用于Series对象,作用于Series里的一个个元素,可以通过字典或函数类对象来构建映射关系对Series对象进行转换;
    2、apply()方法适用于Series对象、DataFrame对象、Groupby对象Series.apply()作用于Series里的一个个元素df.apply()处理的是行或列数据(本质上处理的是单个Series),用函数类对象来构建映射关系对Series对象进行转换;
    3、applymap()方法用来处理DataFrame对象的单个元素值,作用于df中的一个个元素,也是使用函数类对象映射转换;

三、数据处理

1.发现缺失值

在这里插入图片描述

2.剔除缺失值

df.dropna():

  • how:how为all时,只有当该列(或行)全部缺失时,才会将该列删除;为any时,当该列(或行)有缺失时,会将该列删除
  • thresh:设置非缺失值个数,axis=1当该列非缺失值个数大于等于设置的值时,该列保留,否则删除

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.填充缺失值

df.fillna()
填充思路

  • 根据业务知识填充
  • 连续性变量缺失值的填充(均值、众数)
  • 分类型变量缺失值的填充(众数)
  • 预测值填充

1)固定值填充

在这里插入图片描述

2)前向填充&后向填充

  • 前向填充:取前一个值填充
  • 后向填充:取后一个值填充
    在这里插入图片描述

4.df.replace()

有些异常值“-”,不是缺失值,但程序无法处理,需要换成程序可失败的缺失值
在这里插入图片描述

5.重复值处理

df.drop_duplicates()

  • 不传参时,删除一模一样的数据,并保留出现的第一条
  • keep:first、last、false数据保留原则
  • subset用作字段判断依据
    在这里插入图片描述

6.四分位法识别异常值

在这里插入图片描述

四、分组、索引及聚合

1.分组函数

groupby函数之间按组进行迭代,每一组都是Series或DataFrame
在这里插入图片描述

2.索引设置与重置

在这里插入图片描述

1)重置索引

在这里插入图片描述

2)设置索引

在这里插入图片描述

3)索引排序

在这里插入图片描述

3.分组后常见操作

1)分组后聚合

groupby().aggregate()方法,填入对应字典映射,即可查看数据中位数、均值,合计

在这里插入图片描述

2)分组后过滤filter

在这里插入图片描述

3)分组后过滤transform

groupby().transform()方法,在数据转换之后的形状和原来是一样的,但并不是单纯的将一列数据转换,而是对分组之后的小组数据内部按照相同的逻辑和组内指标进行转换,常见的例子是实现组内数据标准化
在这里插入图片描述

4)分组后过滤apply

输入一个分组的DataFrame进行apply(),可以返回一个DataFrame或Series或一个标量。
group和apply的组合操作可以适应apply()返回的结果类型
在这里插入图片描述

相关推荐

  1. python&Pandas二:数据读取写入

    2024-04-03 14:40:03       38 阅读
  2. python数据处理pandas

    2024-04-03 14:40:03       10 阅读
  3. pythonpandas数据分析处理基础学习

    2024-04-03 14:40:03       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-03 14:40:03       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-03 14:40:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-03 14:40:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-03 14:40:03       18 阅读

热门阅读

  1. C# 系统学习(框架学习)

    2024-04-03 14:40:03       14 阅读
  2. SQLAlchemy核心查询Core Query和对象查询Object Query

    2024-04-03 14:40:03       12 阅读
  3. 解构赋值及其原理

    2024-04-03 14:40:03       15 阅读
  4. 天文算法--坐标变换

    2024-04-03 14:40:03       12 阅读
  5. MYSQL

    MYSQL

    2024-04-03 14:40:03      12 阅读
  6. 抽象工厂模式:构建复杂的对象族

    2024-04-03 14:40:03       14 阅读
  7. map/multimap容器(一)

    2024-04-03 14:40:03       14 阅读
  8. 设计原则之多用组合少用继承

    2024-04-03 14:40:03       14 阅读
  9. 一些关于机器学习的练习

    2024-04-03 14:40:03       13 阅读
  10. mybatis批量新增数据

    2024-04-03 14:40:03       13 阅读
  11. 最大子数组问题

    2024-04-03 14:40:03       18 阅读
  12. 洛谷 P8772 [蓝桥杯 2022 省 A] 求和

    2024-04-03 14:40:03       13 阅读