数据结构4 :Series(Pandas库)

  • Post author:
  • Post category:其他


Pandas 的数据结构主要是:Series(一维数组),DataFrame(二维数组)。Series是由索引和内容组成,索引在左边,内容在右边,如 ‘索引’:内容 这样的形式。索引是Pandas库的数据结构中的一大特性,它主要的功能是帮助我们更快速地定位数据。

1 Pandas中创建Series

1.1 pd.Series(dict数据)

import pandas as pd
a=pd.Series({"class": "3",
             "name": "fry",
             "grade": 1})
print(a)
# class      3
# name     fry
# grade      1
# dtype: object

1.2 pd.Series(ndarray数据)

x = np.array([1, 2, 3])
print(pd.Series(x))
# 0    1
# 1    2
# 2    3
# dtype: int32

2 指定Series索引

Series的索引如果没有提前指定默认从0开始。可以通过以下方式来指定index:

2.1 创建series后再添加index

import pandas as pd
import numpy as np
x = np.array([1, 2, 3])
y=pd.Series(x)
y.index=['a','b','c']
print(y)
# a    1
# b    2
# c    3
# dtype: int32

2.2 创建series的同时添加index属性

import pandas as pd
import numpy as np
x = np.array([1, 2, 3])
y=pd.Series(x,index=['a','b','c'])
print(y)
# a    1
# b    2
# c    3
# dtype: int32

3 Series读取数据

通过方括号+索引/下标值的方式读取对应索引的数据

import pandas as pd
import numpy as np
x = np.array([1, 2, 3])
y=pd.Series(x)
y.index=['a','b','c']
print(y['a']) #[索引]
print(y[2]) #[下标]
#Out1: 1
#Out2: 3

需要说明的是,虽然Series的索引是可以重新定义的,但是下标始终是不变的(0开始)。

3 Series的切片

通过方括号+下标值/索引值+冒号的形式来截取数据。

import pandas as pd
import numpy as np
x = np.array([1, 2, 3])
y=pd.Series(x)
y.index=['a','b','c']
print(y['a':'c']) #闭区间
print(y[1:2]) #左到右不到
# a    1
# b    2
# c    3
# dtype: int32
# b    2
#dtype: int32

需要说明的是,用下标(原始索引)来切片时是左到右不到的。但是Series的索引是可以重新定义的,用重新定义后的索引来切片时是左到右不到的。



版权声明:本文为Fwuyi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。