Python数据处理 pandas

接下来开始学习Python的另一个常用模块,强大的数据处理模块pandas,这个模块可以帮助数据分析师轻松解决数据预处理的问题,如数据类型的转换、缺失值的处理、描述性统计分析、数据的汇总等。
首先学习序列与数据框的构造,pandas模块的核心操作对象就是序列和数据框,序列可以理解为一个数据集中的一个字段,数据框是指含有至少两个字段(或序列)的数据集。

构造序列

构造序列可以通过以下方式实现:
1.通过同质的列表或者元组实现
2.通过字典构建
3.通过numpy中的一维数组构建
4.通过数据框DataFrame中的某一列构建
代码展示如下:

import pandas as pd
import numpy as np
# 构造序列
gdp1 = pd.Series([2.8,3.01,8.99,8.59,5.18])
gdp2 = pd.Series({'北京':2.8,'上海':3.01,'广东':8.99,'江苏':8.59,'浙江':5.18})
gdp3 = pd.Series(np.array((2.8,3.01,8.99,8.59,5.18)))
print(gdp1)
print(gdp2)
print(gdp3)

在这里插入图片描述

因为数据框的知识点还没有学习,所以这里用的是Series函数将列表、字典和一维数组转化为序列的过程,不管是列表、元组还是一维数组,构造的结果都是第一个打印的样式。会产生两列,第一列是序列的行索引,可以理解为行号,自动从0开始,第二列才是序列的实际值。通过字典构造的序列就是第二个打印样式,仍然包含两列,但第一列并不是行号而是具体的行名称,对应字典中的键,第二行是实际值对应字典中的值。
序列与一维数组有极高的相似性,获取一维数组元素的所有索引方法都可以应用到序列上,而且数组的数学和统计函数也同样可以应用到序列对象上,不同的是,序列会有更多的处理方法:

# 取出gdp1中的第一、第四和第五个元素
print('行号风格的序列:\n',gdp1[[0,3,4]])
# 取出gdp2中的第一、第四和第五个元素
print('行名称风格的序列:\n',gdp2[[0,3,4]])
# 取出gdp2中上海、江苏和浙江的GDP值
print('行名称风格的序列:\n',gdp2[['上海','江苏','浙江']])
# 数学函数--取对数
print('通过numpy函数:\n',np.log(gdp1))
# 平均gdp
print('通过numpy函数:\n',np.mean(gdp1))
print('通过序列的方法:\n',gdp1.mean())

在这里插入图片描述
如果需要对序列进行数学函数运算那么建议使用numpy模块,因为在这方面pandas模块比较缺乏,如果对序列做统计运算numpy模块中的函数和使用序列方法都可,但更加建议使用序列的方法因为它更加丰富,如计算偏度和峰度时,numpy是没有这样的函数的。

构造数据框

数据框实质上是一个数据集,数据集的行代表每一条观测,数据集的列代表各个变量。在一个数据框中可以存放不同类型的序列,如整数型、浮点型、字符型和日期时间型,而数组和序列则没有这样的优势,因为他们只能存放同质数据。构造数据框应用如下方式:
1.通过嵌套的列表或元组构造
2.通过字典构造
3.通过二维数组构造
4.通过外部数据的读取构造

# 构造数据框
df1 = pd.DataFrame([['张三',23,'男'],['李四',27,'女'],['王二',26,'女']])
df2 = pd.DataFrame({'姓名':['张三','李四','王二'],'年龄':[23,27,26],'性别':['男','女','女']})
df3 = pd.DataFrame(np.array([['张三',23,'男'],['李四',27,'女'],['王二',26,'女']]))
print('嵌套列表构造数据框:\n',df1)
print('字典构造数据框:\n',df2)
print('二维数组构造数据框:\n',df3)

在这里插入图片描述
构造数据框需要使用到pandas模块中的DataFrame函数,如果通过嵌套列表或元组构造数据框,则需要将数据框中的每一行观测作为嵌套列表或元组的元素;如果通过二维数组构造数据框,则需要将数据框的每一行写入到数组的行中;如果通过字典构造数据框,则字典的键构成数据框的变量名,对应的值构成数据框的观测。虽然以上方法都可构建数据框,但前两种方法没有变量名,所以首选字典方法。还有一种方法就是外部数据的读入。下一篇文章介绍。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值