服务器之家

服务器之家 > 正文

pandas将DataFrame的列变成行索引的方法

时间:2021-01-29 00:34     来源/作者:修炼之路

pandas提供了set_index方法可以将DataFrame的列(多列)变成行索引,通过reset_index方法可以将层次化索引的级别会被转移到列里面。

1、DataFrame的set_index方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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的列变成行索引的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/sinat_29957455/article/details/79038658

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
返回顶部