如无必要,本篇笔记均在已导入pandas库下进行,即在程序第一行加入:import pandas as pd
1.声明series对象
data = pd.Series([12,-4,7,9],index=['a','b','c','d'])
输出:
0 12 1 -4 2 7 3 9 dtype: int64
2.指定左侧的index
data = pd.Series([12,-4,7,9],index=['a','b','c','d'])
输出:
a 12 b -4 c 7 d 9 dtype: int64
3.查看组成data的两个数组,可以调用两个属性
data.values
data.index
输出:
array([12, -4, 7, 9], dtype=int64)
Index(['a', 'b', 'c', 'd'], dtype='object')
4.赋值
data['c'] = 1
输出
a 12 b -4 c 1 d 9 dtype: int64
5.结合numpy赋值,但是在创建好series后修改numpy创建的数组,series也会相应发生变化
arr = np.array([2,3,5])
pd.Series(arr)
输出:
0 2 1 3 2 5 dtype: int32
6.筛选元素(与MATLAB类似,但是矩阵带有是[])
data[data>7]
输出:
a 12 d 9 dtype: int64
8.数学运算,与numpy一致
9.取所有出现的数字与MATLAB一致,用到unique函数,统计出现的次数用value_counts
data.unique()
data.value_counts()
输出:
array([12, -4, 1, 9], dtype=int64)
12 1 -4 1 9 1 1 1 dtype: int64
10.isin寻找值与data[data == 7]的作用类似,但是isin一次可以寻找多个值
ser = data.isin([0,7])
data[ser]
输出:
c 7
dtype: int64
11.Series用作词典
mydict = {'red': 2000,'blue': 1000,'yellow': 500,'orange': 1000} pd.Series(mydict)
输出
blue 1000 orange 1000 red 2000 yellow 500 dtype: int64
等于预设字母对应的值,直接字母读取
colors = ['red','yellow','green']
myseries = pd.Series(mydict,index=colors)
print(myseries)
输出
red 2000.0 yellow 500.0 green NaN dtype: float64