Python——Pandas(Series结构)

56 阅读2分钟

Pandas

  • Pandas 是 Python 进行数据分析的一个扩展库
  • 是基于 NumPy 的一种工具。
  • 能够快速得从不同格式的文件中加载数据(比如 CSV 、Excel文件等),然后将其转换为可处理的对象。

Pandas 在 ndarray 的基础上构建出了两种更适用于数据分析的存储结构:

    • Series(一维数据结构)
    • DataFrame(二维数据结构)

Series

  • Series是一种一维数据结构,每一个元素都带有一个索引(默认为整数,从 0 开始)
  • Series 可以保存任何数据类型(会自动做类型统一)

cea4c6a3316fa51a0f19a5399909fbe7.png

创建:

  • 用变量、字符串、列表创建 逐步输出会出现数据类型的改变
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 常用属性

image.png

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)