2
數據框中行索引我知道如何通過大熊貓數據框的行迭代:通過迭代以相反的順序
for id, value in df.iterrows():
,但現在我想經過以相反的順序排(id
是數字,但與行號不一致)。首先,我想在索引data.sort(ascending = False)
上進行排序,然後運行相同的迭代過程,但它不起作用(它似乎仍然從較小的id
變大)。
我該如何做到這一點?
數據框中行索引我知道如何通過大熊貓數據框的行迭代:通過迭代以相反的順序
for id, value in df.iterrows():
,但現在我想經過以相反的順序排(id
是數字,但與行號不一致)。首先,我想在索引data.sort(ascending = False)
上進行排序,然後運行相同的迭代過程,但它不起作用(它似乎仍然從較小的id
變大)。
我該如何做到這一點?
除非你使用Cython,否則通過DataFrame
的迭代通常是一個壞主意。如果您真的必須,可以使用切片符號來反轉DataFrame
:
In [8]: import pandas as pd
In [9]: pd.DataFrame(np.arange(20).reshape(4,5))
Out[9]:
0 1 2 3 4
0 0 1 2 3 4
1 5 6 7 8 9
2 10 11 12 13 14
3 15 16 17 18 19
In [10]: pd.DataFrame(np.arange(20).reshape(4,5))[::-1]
Out[10]:
0 1 2 3 4
3 15 16 17 18 19
2 10 11 12 13 14
1 5 6 7 8 9
0 0 1 2 3 4
In [11]: for row in pd.DataFrame(np.arange(20).reshape(4,5))[::-1].iterrows():
...: print row
...:
(3, 0 15
1 16
2 17
3 18
4 19
Name: 3)
(2, 0 10
1 11
2 12
3 13
4 14
Name: 2)
(1, 0 5
1 6
2 7
3 8
4 9
Name: 1)
(0, 0 0
1 1
2 2
3 3
4 4
Name: 0)