pandas將DataFrame的列變成行索引的方法
更新時間:2018年04月10日 09:44:31 作者:修煉之路
下面小編就為大家分享一篇pandas將DataFrame的列變成行索引的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
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的列變成行索引的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- 刪除python pandas.DataFrame 的多重index實例
- python中pandas.DataFrame的簡單操作方法(創(chuàng)建、索引、增添與刪除)
- pandas.dataframe按行索引表達式選取方法
- pandas修改DataFrame列名的方法
- python pandas 對series和dataframe的重置索引reindex方法
- python pandas庫中DataFrame對行和列的操作實例講解
- python pandas.DataFrame選取、修改數(shù)據(jù)最好用.loc,.iloc,.ix實現(xiàn)
- 在Python中pandas.DataFrame重置索引名稱的實例

