
正文
pandas 索引笔记
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
import pandas as pd
import numpy as np s = pd.Series(np.random.rand(5), index=list('abcde'))
# 创建序列,其中 index=list('abcde')为每一行添加索引
s.index.name='alpha' # 为行索引添加名称标签 df = pd.DataFrame(np.random.randn(4,3), columns=['one','two','three'])
# 创建DataFrame,其中columns=['one','two','three']表示为每一列添加索引
df.index.name = 'row' # 为行索引添加名称标签
df.columns.name = 'col' # 为列索引添加名称标签
import pandas as pd
import numpy as np s = pd.Series(np.arange(6), index=list('abcbda'))
# 创建一个带有重复索引的Series s['a'] # 找出a的所有索引对应的值
s.index.is_unique # 判断s中每个索引是否独一无二
s.index.unique() # 找出s中不重复的索引 s.groupby(s.index).sum() # 将索引分组并求和
s.groupby(s.index).mean() # 将索引分组并求均值
s.groupby(s.index).first() # 将索引分组并取第一项
import pandas as pd
import numpy as np a = [['a','a','a','b','b','c','c'],[1,2,3,1,2,2,3]]
t = list(zip(*a))
index = pd.MultiIndex.from_tuples(t,names=['level1','level2'])
s = pd.Series(np.random.rand(7),index=index)
# 输出 s
level1 level2
a 1 0.029233
2 0.539508
3 0.502217
b 1 0.536222
2 0.217398
c 2 0.551864
3 0.596248 s['b']
# 输出
level2
1 0.536222
2 0.217398
dtype: float64 s['b':'c']
# 输出
level1 level2
b 1 0.536222
2 0.217398
c 2 0.551864
3 0.596248
dtype: float64 s[['a','c']]
# 输出
level1 level2
a 1 0.029233
2 0.539508
3 0.502217
c 2 0.551864
3 0.596248
dtype: float64 s[:,2]
# 输出
level1
a 0.539508
b 0.217398
c 0.551864
dtype: float64







