pandas(三)高级

李先生 2020年07月18日 86次浏览

pandas高级

1. Pandas中的数据加载、存储与解析

  • 创建Series
  • 创建DataFrame
  • 从文件中加载数据到Series或者DataFrame

1.1 csv格式数据

Id,name,gender,age
100,张三,男,18
101,李红,女,17
102,李四,男,19

1.2 引包

from pandas import DataFrame,Series
import pandas as pd
import numpy as np

### 1.3 pandas加载csv格式数据

  • read_csv : 默认逗号分隔
  • read_table : 默认分割符制表符
  • 利用DataFrame的 to_csv方 法写入文本文件,默认会用 逗号分隔
  • 可以通过指定 na_rep 来实 现给缺失值标记

image20200718113244454.png

image20200718113320667.png

image20200718113744569.png

image20200718113759962.png

image20200718113817210.png

2. 分组与聚合

2.1 分组

对数据集进行分组并对各组应用一个函数(无论是聚合还是转 换),这是数据分析工作中的重要环节。在将数据集准备好之后, 通常的任务就是计算分组统计或生成透视表。pandas提供了一 个灵活高效的 gruopby功能,它使你能以一种自然的方式对数据 集进行切片、切块、摘要等操作 !

image20200718114116765.png

  • grouped是一个 groupBy对象,它实际 没有做任何运算,只有真正调用它相关 方法时,才真正开始 运算
  • 也可以根据两个条件来进行分组
  • 可以用groupby的 size()方法得到分组 大小

2.2 聚合

  • 如果是一个大数据集, 我们只需要对其中的某 一列进行聚合

  • 数据聚合常用于对分组后的数据进行计算

  • 使用内置聚合函数

    常用的有sum(), mean(), max(), min(), count(), size(), describe()

    image20200718114935057.png

  • 到目前为止,所有示例 中的聚合数据都有由唯 一的分组键组成的索引 (可能还是层次化的)。 由于并不总是需要如此, 所以你可以向groupby 传入as_index=False以 禁用该功能

    image20200718115521175.png

2.3 apply

最通用的GroupBy方法是apply,apply会将待处理的对象拆分成多个片段,然后对各片段 调用传入的函数,最后尝试将各片段组合到一 起

image20200718120229848.png

image20200718122815452.png

image20200718122857134.png

image20200718122923496.png

3 加权平均

  • 根据groupby的“拆分-应用-合并” 范式,可以进行DataFrame的列与列之 间或两个Series之间的运算(比如分组 加权平均)。以下面这个数据集为例, 它含有分组键、值以及一些权重值:

  • 可以利用category计算分 组加权平均数

    image20200718123353851.png