pandas 是基于 numpy 的一个数据分析包,主要目的是为了数据分析,提供了大量数据结构以及数据处理方法。
pandas 主要的两个数据结构: Series 、DataFrame
本节主要介绍这两个数据结构
# 导入pandas模块
import pandas as pd
1. Series
- 类似一维数组的数据类型,由一组数据和与之相关联的索引组成
- Series简单来说就是带着索引的一维列表
- 默认索引从0开始
- 初始化可以:
- 传入列表,默认索引
- 传入列表,自定义索引
- 传入字典
# 初始化一个Series
print("传入列表,默认索引:")
s1 = pd.Series(['a', 'b', 'c', 'd'])
print(s1)
# 输出0 1 2 3就是索引,a b c d就是一维列表
# 一维的意思是 a 就是一个元素,而不是列表
'''
结果
传入列表,默认索引:
0 a
1 b
2 c
3 d
dtype: object
'''
# Series应用:将一维列表索引化后,就可以用索引取元素
print(s1[1])
# 结果:b
# 初始化一个自定义索引的Series
print("传入列表,自定义索引:")
s2 = pd.Series(['a', 'b', 'c', 'd'], index=[1, 2, 3, 4])
print(s2)
'''
结果
传入列表,自定义索引:
1 a
2 b
3 c
4 d
dtype: object
'''
# 传入字典,用key为索引,value为数据
print("传入字典:")
s3 = pd.Series({1:'a', 2:'b', 3:'c', 4:'d'})
print(s3)
'''
结果
传入字典:
1 a
2 b
3 c
4 d
dtype: object
'''
# Index获得索引
print(s1.index)
# 结果:RangeIndex(start=0, stop=4, step=1) 意思是s1的索引从0开始到4结束,不包含4,步长为1
print(s2.index)
# 结果:Index([1, 2, 3, 4], dtype='int64') 自定义索引会返回索引的内容以及索引的类型
# values获得值
print(s1.values)
# 结果:['a' 'b' 'c' 'd']
2. DataFrame
- DataFrame是由一组数据和一对索引组成的表格型数据结构
- 其实就是带着索引的二维列表
- 默认的行索引和列索引都是从0开始
- 常用DataFrame表示excel内容
- 初始化可以:
- 传入一个列表
- 传入一个嵌套列表
- 传入一个内部为元组的嵌套列表
- 传入一个字典
# 新建一个DataFrame
print("传入列表,默认行索引和列索引:")
df1 = pd.DataFrame(['a', 'b', 'c', 'd'])
print(df1)
'''结果
传入列表,默认行索引和列索引:
0
0 a
1 b
2 c
3 d
'''
# 传入一个嵌套列表(二维列表)
df2 = pd.DataFrame([['a', 'A'],
['b', 'B'],
['c', 'C'],
['d', 'D']])
print(df2)
'''结果
0 1
0 a A
1 b B
2 c C
3 d D
'''
# 传入一个嵌套列表,里面是元组
df3 = pd.DataFrame([('a', 'A'),
('b', 'B'),
('c', 'C'),
('d', 'D')])
print(df3)
'''
结果
0 1
0 a A
1 b B
2 c C
3 d D
'''
# 指定列索引
df4 = pd.DataFrame([['a', 'A'],
['b', 'B'],
['c', 'C'],
['d', 'D']], columns = ["小写", "大写"])
print(df4)
# 指定行索引
df5 = pd.DataFrame([['a', 'A'],
['b', 'B'],
['c', 'C'],
['d', 'D']], columns = ["小写", "大写"], index = ["一", "二", "三", "四"])
print(df5)
'''
结果
小写 大写
0 a A
1 b B
2 c C
3 d D
小写 大写
一 a A
二 b B
三 c C
四 d D
'''
# 传入字典
df6 = pd.DataFrame({"小写":['a', 'b', 'c', 'd'],
"大写":['A', 'B', 'C', 'D']}, index = ["一", "二", "三", "四"])
print(df6)
'''
结果
小写 大写
一 a A
二 b B
三 c C
四 d D
'''
# columns属性获取Dataframe的列索引
print(df2.columns)
# 结果:RangeIndex(start=0, stop=2, step=1) 列索引从0开始,到2结束,不包括2,步长为1
print(df4.columns)
# 结果:Index(['小写', '大写'], dtype='object') 自定义列索引全部展示出来
# index属性获取Dataframe的行索引
print(df2.index)
# 结果:RangeIndex(start=0, stop=4, step=1) 列索引从0开始,到4结束,不包括4,步长为1
print(df5.index)
# 结果:Index(['一', '二', '三', '四'], dtype='object') 自定义行索引全部展示出来