Python学习-Scipy库一维数据表Series
目录
1、创建Series Series()函数
2、Series数据的索引
3、Series数据的修改
4、Series数据的删除
导入库
import numpy as np
import pandas as pd
Series可以存储带索引的一维数据记录,下面介绍Series的创建、索引、修改、删除
1、创建Series Series()函数
参数介绍:
data: 存放数据的集合对象,可以使迭代对象、字典(Python3.6以上)、常量
index: 指定的集合对象或自动产生的正整数序数
dtype: 指定Series数据产生时的类型,包括字符串、整数、浮点数、布尔等
name: 指定索引名称
copy: 指定是否对data进行复制
建立Series对象
s1 = pd.Series(data=np.array([10, 20, 30, 40, 50]))
print('s1:\n', s1)
print('s1的索引值:', s1.index)
print('s1的所有元素:', s1.values)
输出
s1:
0 10
1 20
2 30
3 40
4 50
dtype: int32
s1的索引值: RangeIndex(start=0, stop=5, step=1)
s1的所有元素: [10 20 30 40 50]
指定索引
s2 = pd.Series(data=np.arange(3), index={'one', 'two', 'three'})
print('s2\n', s2)
输出
s2
three 0
two 1
one 2
dtype: int32
用字典建立Series对象
s3 = pd.Series({'Tom': 16, 'Tony': 18, 'Alice': 19})
print('s3:\n', s3)
输出
s3:
Tom 16
Tony 18
Alice 19
dtype: int64
建立Series对象时,改变数据类型,并指定索引名称
s4 = pd.Series(data=np.ones(3), dtype=bool, name='No')
print('s4:\n', s4)
输出
s4:
0 True
1 True
2 True
Name: No, dtype: bool
2、Series数据的索引
默认数值索引查询
s5 = pd.Series(np.arange(100, 110))
print('s5:\n', s5)
print('s5[0]: ', s5[0])
print('s5[:4]:\n', s5[:4])
输出
s5:
0 100
1 101
2 102
3 103
4 104
5 105
6 106
7 107
8 108
9 109
dtype: int32
s5[0]: 100
s5[:4]:
0 100
1 101
2 102
3 103
dtype: int32
指定索引值查询
s6 = pd.Series([10, 20, 30, 40], index={'Tom', 'Tony', 'Alice', 'Mike'})
print("s6['Tony']: ", s6['Tony'])
输出
s6['Tony']: 20
指定数值索引查询
animal = pd.Series(['Lion', 'Wolf', 'Bear'], index=[2, 0, 1])
print('animal[0]: ', animal[0])
输出
animal[0]: Wolf
布尔运算方式索引
s7 = pd.Series(np.arange(100, 110))
print('s7[s7>105]:\n', s7[s7 > 105])
输出
s7[s7>105]:
6 106
7 107
8 108
9 109
dtype: int32
利用numpy数组提供索引
animal = pd.Series(['Lion', 'Wolf', 'Bear'], index=[2, 0, 1])
ind = np.array([0, 1])
print('animal[ind]:\n', animal[ind])
输出
animal[ind]:
0 Wolf
1 Bear
dtype: object
3、Series数据的修改
直接赋值
s8 = pd.Series([10, 9, 8, 7, 6, 5])
s8[1] = 2
print('s8:\n', s8)
输出
s8:
0 10
1 2
2 8
3 7
4 6
5 5
dtype: int64
replace()方法
s8.replace(8, 4, inplace=True)
print('s8:\n', s8)
输出
s8:
0 10
1 2
2 4
3 7
4 6
5 5
dtype: int64
4、Series数据的删除
用pop(x),x为索引值
s9 = pd.Series([10, 9, 8, 7, 6, 5])
s9.pop(3)
print('s9:\n', s9)
输出
s9:
0 10
1 9
2 8
4 6
5 5
dtype: int64
用del()函数删除
s10 = pd.Series([10, 9, 8, 7, 6, 5])
del(s10[1])
print('s10:\n', s10)
输出
s10:
0 10
2 8
3 7
4 6
5 5
dtype: int64