Pandas
- Pandas 是 Python 进行数据分析的一个扩展库
- 是基于 NumPy 的一种工具。
- 能够快速得从不同格式的文件中加载数据(比如 CSV 、Excel文件等),然后将其转换为可处理的对象。
Pandas 在 ndarray 的基础上构建出了两种更适用于数据分析的存储结构:
-
- Series(一维数据结构)
-
- DataFrame(二维数据结构)
Series
- Series是一种一维数据结构,每一个元素都带有一个索引(默认为整数,从 0 开始)
- Series 可以保存任何数据类型(会自动做类型统一)
创建:
- 用变量、字符串、列表创建 逐步输出会出现数据类型的改变
d = 99
ser = pd.Series(data=d)
print(ser)
d = 'abc'
ser = pd.Series(data=d, index=[1, 2, 3])
print(ser)
d = ['a', 'b', 'c']
ser = pd.Series(data=d)
print(ser)
修改索引
索引是不可变的(数字、元组等)
import pandas as pd
ser = pd.Series([4, 7, -5, 3], index=['a', 'b', 'c', 'd']) print(ser)
ser.index = ['aa', 'bb', 'cc', 'dd'] # 修改原数据
print(ser)
用字典创建
默认用字典的键作为index, 对应字典的值作为数据 如果指定索引不是字典的键, 那么会得到缺失值NaN 标签允许重复,但是我们在命名时,尽可能的不去重复
d = {'a': 1, 'b': 2, 'c': 3}
ser = pd.Series(data=d) # index=['a', 'b', 'c'] 可省略
print(ser)
d = {'a': 1, 'b': 2, 'c': 3}
ser = pd.Series(data=d, index=['a', 'y', 'z'])
print(ser)
访问 Series 数据
两种方式:位置索引访问、索引标签访问
位置索引访问
import numpy as np
import pandas as pd
d = np.array([1, 2, 3, 4, 5])
ser = pd.Series(data=d, index=('a', 'e', 'c', 'd','e'))
print(ser)
print(ser[1]) #输出索引为1的数值(下标是从零开始的)
print(ser[1:3]) #输出索引为1,2的值
print(ser[[2, 1, 3]]) ##输出索引为2,1,3的值
索引标签访问
import numpy as np
import pandas as pd
d = np.array([1, 2, 3, 4, 5])
ser = pd.Series(data=d, index=('a', 'e', 'c', 'd',
'e'))
print(ser)
print(ser['c'])
print(ser['e']) #一个标签有两个值时,两个值都会输出
""" 索引标签切片时, 右边不是开区间 """
print(ser['a':'d']) # ser['e':'d']报错,因为'e'不唯一
print(ser[:'c':2])
print(ser[['c', 'e', 'd']])
Series 常用属性
Series 运算
- 与数值运算:数值与每一个元素进行运算
- 两个Seris运算:相同相加其他给NaN
import pandas as pd
ser1 = pd.Series([15, 20], index=["a", "b"])
print(ser1 + 1)
ser2 = pd.Series([1, 2], index=["c", "a"])
print(ser1 + ser2)