用法汇总
Series
1.Series 类似一维数组
values:一组数据(ndarray类型)
index:相关的数据索引标签(自定义的索引名称)
默认索引为0到N-1的整数型索引
2.创建
1.由列表/numpy的数组创建
创建方式一:默认索引
s1 = pd.Series([11,22,33]) # 直接这样创建的时候会默认索引0,1,2……
0 11
1 22
2 33
dtype: int64 一般这种格式的就是pandas中的一维数组
创建方式二:设置索引
1.创建
s1 = pd.Series([11,22,33],index=['A','B','C'])
这样创建的时候会将索引设置为ABC的,但是默认索引0,1,2……仍然存在,查询的时候还是可以查询默认索引0,1,2…
如果设置索引,一般是用字符串创建索引
A 11
B 22
C 33
dtype: int64
2.索引 index
1.查看索引名称
s1.index # Index(['A', 'B', 'C'], dtype='object')
2.修改索引名称
s1.index = ['a','b','c']
s1
a 11
b 22
c 33
dtype: int64
创建方式三:由字典创建
s2 = pd.Series({'A':11,'B':22,'C':33})
s2
A 11
B 22
C 33
dtype: int64
2.值 values
1.查看值
s1.values # array([11, 22, 33], dtype=int64)
tpye(s1.values) # numpy.ndarray
2.注意:
不能直接这样修改值:s1.values = [1,2,3]
3.索引
1.索引用法
使用中括号取单个索引(此时返回的是元素类型)
中括号里一个列表取多个索引(此时返回的仍然是一个Series类型)
分为显示索引和隐式索引:
1.显式索引(自定义的索引名称)
1.使用index中的元素作为索引值
s2.A # 用点的时候必须保证后面的变量名遵循变量名命名规范
s2['A']
2.使用.loc[](推荐)
s2 = pd.Series({1:11,2:22,3:33}) # 当索引名是数字索引的时候,想用显式索引必须加.loc
s2.loc[1]
2.隐式索引(默认的数字索引0开头)
1.使用整数作为索引值
s2[0]
2.使用.iloc[](推荐) # 当索引名是数字索引的时候,想用显式索引必须加.loc
s2.iloc[0]
2.索引修改值
s2['A'] = 111
s2.A = 111
s2[0] = 111
4.切片
1.创建Series
s5 = pd.Series([11,22,33,44,55,66,77,88],list('ABCDEFGH'))
s5
A 11
B 22
C 33
D 44
E 55
F 66
G 77
H 88
dtype: int64
# name
# 一般在多维数组中使用,相当于一个表格中不同列的列名
# s5 = pd.Series([11,22,33,44,55,66,77,88],list('ABCDEFGH'),name='hello')
# s5
# A 11
# B 22
# C 33
# D 44
# E 55
# F 66
# G 77
# H 88
# Name: hello, dtype: int64
2.切片
s5[:4]
A 11
B 22
C 33
D 44
dtype: int64
s5['B':'D'] # 闭区间
B 22
C 33
D 44
dtype: int64
s5['B':'D'] # 闭区间
Series([],dtype: int64)
s5['B':'D':-1] # 闭区间
G 77
F 66
E 55
D 44
C 33
B 22
dtype: int64
5.基本属性和方法
s5.shape
s5.size
s5.index # 一般主要用来修改索引名
s5.values # 一般用来转换数据类型,得到的是nparray数组 array([11,22,33,……,88],dtype: int64)
s5.name # 名字,类似字段名 在这里没什么使用,在二维数组中取到一列或者一行可能会有name,了解即可。
6.Series 运算
索引不变,值进行运算
1.数学运算
n + 10
n - 10
n * 10
n / 10
n // 2
n % 3 # 余数
n ** 3 # 次方
2.Series 与 Series 之间的运算
在运算中自动补齐索引,如果索引不对齐,则补NaN
s5 = pd.Series({'A':11,'B':22,'C':33})
s6 = pd.Series({'B':100,'C':200,'D':300,'E':400})
s5+s6 # 有索引名的时候,默认根据索引名进行运算
A NaN
B 122.0
C 233.0
D NaN
E NaN
dtype: float64
s5.add(s6)
A NaN
B 122.0
C 233.0
D NaN
E NaN
dtype: float64
与s5+s6结果一样 但是add加参数 fill_value 就不同了:
s5.add(s6,fill_value=0) # fill_value=0 fill_value填充0
A 11.0
B 122.0
C 233.0
D 300.0
E 400.0
dtype: float64
但是目前使用不是很多,了解
7.总结
Series 可以看做是一个有序的字典结构
"""
Series
1.Series 类似一维数组
values:一组数据(ndarray类型)
index:相关的数据索引标签(自定义的索引名称)
默认索引为0到N-1的整数型索引
2.创建
1.由列表/numpy的数组创建
创建方式一:默认索引
s1 = pd.Series([11,22,33]) # 直接这样创建的时候会默认索引0,1,2……
0 11
1 22
2 33
dtype: int64 一般这种格式的就是pandas中的一维数组
创建方式二:设置索引
1.创建
s1 = pd.Series([11,22,33],index=['A','B','C'])
这样创建的时候会将索引设置为ABC的,但是默认索引0,1,2……仍然存在,查询的时候还是可以查询默认索引0,1,2…
如果设置索引,一般是用字符串创建索引
A 11
B 22
C 33
dtype: int64
2.索引 index
1.查看索引名称
s1.index # Index(['A', 'B', 'C'], dtype='object')
2.修改索引名称
s1.index = ['a','b','c']
s1
a 11
b 22
c 33
dtype: int64
创建方式三:由字典创建
s2 = pd.Series({'A':11,'B':22,'C':33})
s2
A 11
B 22
C 33
dtype: int64
2.值 values
1.查看值
s1.values # array([11, 22, 33], dtype=int64)
tpye(s1.values) # numpy.ndarray
2.注意:
不能直接这样修改值:s1.values = [1,2,3]
3.索引
1.索引用法
使用中括号取单个索引(此时返回的是元素类型)
中括号里一个列表取多个索引(此时返回的仍然是一个Series类型)
分为显示索引和隐式索引:
1.显式索引(自定义的索引名称)
1.使用index中的元素作为索引值
s2.A # 用点的时候必须保证后面的变量名遵循变量名命名规范
s2['A']
2.使用.loc[](推荐)
s2 = pd.Series({1:11,2:22,3:33}) # 当索引名是数字索引的时候,想用显式索引必须加.loc
s2.loc[1]
2.隐式索引(默认的数字索引0开头)
1.使用整数作为索引值
s2[0]
2.使用.iloc[](推荐) # 当索引名是数字索引的时候,想用显式索引必须加.loc
s2.iloc[0]
2.索引修改值
s2['A'] = 111
s2.A = 111
s2[0] = 111
4.切片
1.创建Series
s5 = pd.Series([11,22,33,44,55,66,77,88],list('ABCDEFGH'))
s5
A 11
B 22
C 33
D 44
E 55
F 66
G 77
H 88
dtype: int64
# name
# 一般在多维数组中使用,相当于一个表格中不同列的列名
# s5 = pd.Series([11,22,33,44,55,66,77,88],list('ABCDEFGH'),name='hello')
# s5
# A 11
# B 22
# C 33
# D 44
# E 55
# F 66
# G 77
# H 88
# Name: hello, dtype: int64
2.切片
s5[:4]
A 11
B 22
C 33
D 44
dtype: int64
s5['B':'D'] # 闭区间
B 22
C 33
D 44
dtype: int64
s5['B':'D'] # 闭区间
Series([],dtype: int64)
s5['B':'D':-1] # 闭区间
G 77
F 66
E 55
D 44
C 33
B 22
dtype: int64
5.基本属性和方法
s5.shape
s5.size
s5.index # 一般主要用来修改索引名
s5.values # 一般用来转换数据类型,得到的是nparray数组 array([11,22,33,……,88],dtype: int64)
s5.name # 名字,类似字段名 在这里没什么使用,在二维数组中取到一列或者一行可能会有name,了解即可。
6.Series 运算
索引不变,值进行运算
1.数学运算
n + 10
n - 10
n * 10
n / 10
n // 2
n % 3 # 余数
n ** 3 # 次方
2.Series 与 Series 之间的运算
在运算中自动补齐索引,如果索引不对齐,则补NaN
s5 = pd.Series({'A':11,'B':22,'C':33})
s6 = pd.Series({'B':100,'C':200,'D':300,'E':400})
s5+s6 # 有索引名的时候,默认根据索引名进行运算
A NaN
B 122.0
C 233.0
D NaN
E NaN
dtype: float64
s5.add(s6)
A NaN
B 122.0
C 233.0
D NaN
E NaN
dtype: float64
与s5+s6结果一样 但是add加参数 fill_value 就不同了:
s5.add(s6,fill_value=0) # fill_value=0 fill_value填充0
A 11.0
B 122.0
C 233.0
D 300.0
E 400.0
dtype: float64
但是目前使用不是很多,了解
7.总结
Series 可以看做是一个有序的字典结构
"""