pandas提供了set_index方法可以将DataFrame的列(多列)变成行索引,通过reset_index方法可以将层次化索引的级别会被转移到列里面。
1、DataFrame的set_index方法
data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"]) print(data) ''' A B C a 1 2 3 b 4 5 6 c 7 8 9 ''' #将列索引为B的列变成data的行索引 print(data.set_index("B")) ''' A C B 2 1 3 5 4 6 8 7 9 ''' #获取行索引 print(data.set_index("B").index) #Int64Index([2, 5, 8], dtype='int64', name='B') #获取列索引 print(data.set_index("B").columns) #Index(['A', 'C'], dtype='object') #将列索引为A和C的列变成行索引,层次化索引 print(data.set_index(["A","C"])) ''' B A C 1 3 2 4 6 5 7 9 8 '''
2、DataFrame的reset_index方法
data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"]) print(data) ''' A B C a 1 2 3 b 4 5 6 c 7 8 9 ''' print(data.set_index(["C"])) ''' A B C 3 1 2 6 4 5 9 7 8 ''' #相对于data来说行索引从原来的a、b、c变成了0、1、2 #在使用set_index方法的时候行索引就已经被修改了 print(data.set_index(["C"]).reset_index()) ''' C A B 0 3 1 2 1 6 4 5 2 9 7 8 ''' print(data.index) #Index(['a', 'b', 'c'], dtype='object') print(data.set_index(["C"]).reset_index().index) #RangeIndex(start=0, stop=3, step=1) print(data.set_index(["C"]).reset_index().columns) #Index(['C', 'A', 'B'], dtype='object')
以上这篇pandas将DataFrame的列变成行索引的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
pandas,列变成行索引
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“pandas将DataFrame的列变成行索引的方法”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。