我有一个 DataFrame,如果满足条件,我将在其中尝试反转行顺序。
数据框(df)是:
name id description
0 a String 1 lion
1 b String 1 snake
2 c String 1 bear
3 d String 1 tiger
4 e String 1 dog
5 f String 2 cat
6 g String 2 bird
7 h String 2 whale
8 i String 2 eagle
9 j String 2 rhino
10 k String 3 monkey
11 l String 3 lamb
12 m String 3 horse
13 n String 3 goat
14 o String 3 rabbit
15 p String 4 frog
16 q String 4 jaguar
17 r String 4 fox
18 s String 4 sloth
19 t String 4 beaver
20 u String 5 parrot
21 v String 5 dolphin
22 w String 5 seal
23 x String 5 spider
24 y String 5 panda
对于等于 String 2 和 String 4 的 df ['id'] 行(基本上所有 id 为 % 2 == 0),我想颠倒该组中行的顺序。我正在寻找的输出 DataFrame 是:
name id description
0 a String 1 lion
1 b String 1 snake
2 c String 1 bear
3 d String 1 tiger
4 e String 1 dog
**5 j String 2 rhino**
**6 i String 2 eagle**
**7 h String 2 whale**
**8 g String 2 bird**
**9 f String 2 cat**
10 k String 3 monkey
11 l String 3 lamb
12 m String 3 horse
13 n String 3 goat
14 o String 3 rabbit
**15 t String 4 beaver**
**16 s String 4 sloth**
**17 r String 4 fox**
**18 q String 4 jaguar**
**19 p String 4 frog**
20 u String 5 parrot
21 v String 5 dolphin
22 w String 5 seal
23 x String 5 spider
24 y String 5 panda
我有能力通过以下方式单独执行此操作:
df.loc[df['id'] == 'condition'][::-1]
我正在努力研究如何将它应用于 DataFrame 以便它对其进行修改。我尝试了以下功能无济于事:
def reversal(row):
for row in df.id:
if row == 'condition':
return df.loc[df['id'] == 'condition'][::-1]
我打算在大约 30K 行的 DataFrame 上使用它。这真的不是那么多,但我仍然注意尝试使用最有效的方法。
理解解决方案背后的逻辑对我来说同样重要,因为我才真正开始学习 Python。我认为上面的代码很好地说明了这一点。
谢谢你的帮助,我有点被这个难住了。
素胚勾勒不出你
慕田峪7331174
相关分类