Pandas索引&层次化索引

版权声明: https://blog.csdn.net/zheng_weibin/article/details/79090816

Pandas索引

df['列名']得到一个单独列
In[9]:kuandai['分公司']
Out[9]: 
入网时间
2018-01-04    深圳
2018-01-04    深圳
2018-01-05    深圳
......
df[2:5]得到行的切片
In[14]:kuandai[2:4]
Out[14]: 
入网时间 KD012指标 付费方式 付费类型 光宽类型 分公司 十六大渠道      宽带类型 揽装编码   日期 是否光宽  
2018-01-05  当月累计入网用户数  NaN   未知  NaN  深圳   专营店  FTTH(拨号)  NaN  NaN    是
2018-01-09  当月累计入网用户数  NaN   未知  NaN  深圳   专营店  FTTH(拨号)  NaN  NaN    是  
df.loc[]根据行列label进行索引,先行后列
df.loc['行名']得到一行
df.loc['行名1':'行名n']得到多行切片
df.loc['行名','列名']得到行列筛选的结果
df.loc['2018-01':'2018-02',['A','B']]根据label进行多轴索引,可传入列表、日期等格式

multi-index多层索引
多层索引使用idx = pd.IndexSlice,单独构建行列索引的idx传入df.loc中,针对每一个idx[],使用","对每个层级进行区分
df.loc[idx[:,'2018-01'],idx[:]]
idx = pd.IndexSlice
ec.groupby(by = ['分公司',ec.index]).sum().pct_change().loc[idx[:,tday],:].unstack()
Out[19]: 
            统计值
分公司            
东莞     0.462428
中山     0.000000
佛山    -0.545455
广州    -0.776471


df.iloc[]根据行列位置进行索引,先行后列,其余用法可参考df.loc[]

猜你喜欢

转载自blog.csdn.net/zheng_weibin/article/details/79090816