Python学习笔记——第六弹Pandas数据处理工具①

148 阅读2分钟

「这是我参与11月更文挑战的第17天,活动详情查看:2021最后一次更文挑战」。

pandas可以解决数据的预处理问题,如数据类型的转换、缺失值的处理、描述性统计分析、数据的汇总等。

序列与数据框的构造

pandas模块的核心操作对象就是序列(series)和数据框(dataframe)。序列可以理解为数据集中的一个字段,数据框是指含有至少两个字段(或序列)的数据集。首先需要说明哪些方式可以构造序列和数据框,之后才能实现基于序列和数据的处理和操作。

构造序列

构造一个序列可以使用如下的方式实现:

  1. 通过同质的列表或元组构建。
  2. 通过字典构建。
  3. 通过numpy重点一维数组构建。
  4. 通过数据框dataframe重点某一列构建。

例如,

image.png

image.png

不管是列表、元组,还是一维数组,构造的序列结果都是同样的打印样式。该样式会产生两列,第一列属于序列(可以理解为行号),自动从0开始;第二列才是序列的实际值。

通过字典构造的序列就是另一种打印样式,仍然包含两列,所不同的是第一列不再是行号,而是具体的行名称(label),对应字典中的键;第二列是序列的实际值,对应字典的值。

序列与一维数组有极高的相似性,获取一维数组元素的所有索引方法都可以应用到序列上,数组的数学和统计函数也同样可以应用到序列对象上,不同的是,序列会有更多的其他处理方法。

image.png

构造数据框

数据框实质是一个数据集,数据集的行代表每一条观测,数据集的列则代表各个变量。在一个数据框中可以存放不同数据类型的序列,如整数型、浮点型、字符型等,而数组和序列则没这样的优势,因为他们只能存放同质数据。

构造一个数据框可以应用如下方式:

  1. 通过嵌套的列表或元组构造。
  2. 通过字典构造。
  3. 通过二维数组构造。
  4. 通过外部数据的读取构造。
df1 =pd.DataFrame([['张三',21,'男'],['李四',23,'女'],['王五',25,'男']])
df2 =pd.DataFrame({'姓名':['张三','李四','王五'],'年龄':[21,23,25],'性别':['男','女','男']})
df3 =pd.DataFrame(np.array([['张三',21,'男'],['李四',23,'女'],['王五',25,'男']]))
print('嵌套列表构造数据框:\n',df1)
print('字典构造数据框:\n',df2)
print('二维数组构造数据框:\n',df3)

image.png