gpt4 book ai didi

python - 循环分组行并比较组中的第一行-Python

转载 作者:行者123 更新时间:2023-12-03 22:19:57 26 4
gpt4 key购买 nike

我有按来源和目的地对分组的数据。我想将组中的第一行与组中的其他行进行比较。如果一行满足某些条件,那么我想标记它。下面是我的数据快照:

Orig    Dest    Route   Vol     Per   VolPct
ORD ICN A 2,251 0.64 0.78
ORD ICN B 366 0.97 0.13
ORD ICN C 142 0.14 0.05
ORD ICN D 100 0.22 0.03
ORD ICN E 25 1.00 0.01

如果一行的“VolPct”>=.1,则将其与第一行进行比较。所以在这个例子中,路线 B ​​将与路线 A 进行比较。如果路线 B ​​和路线 A 的“Per”之间的差异 >= .2,那么我想通过在一个“X”中放置一个“X”来标记路线 B新列。在此示例中,路由 B 将被标记。预期输出如下所示:
Orig    Dest    Route   Vol      Per    VolPct  Flag
ORD ICN A 2,251 0.64 0.78
ORD ICN B 366 0.97 0.13 x
ORD ICN C 142 0.14 0.05
ORD ICN D 100 0.22 0.03
ORD ICN E 25 1.00 0.01

任何建议如何解决这个问题?我正在使用 Pandas 和 Python 3.6。谢谢你的帮助!

最佳答案

IIUC,您可以通过 groupby 来做到这一点+ first .使用 np.where用于确定 Flag 的值.

i = df.VolPct >= .1
j = (df.Per - df.groupby('Orig').Per.transform('first') >= .2)

df['Flag'] = np.where(i & j, 'X', '')
df

Orig Dest Route Vol Per VolPct Flag
0 ORD ICN A 2,251 0.64 0.78
1 ORD ICN B 366 0.97 0.13 X
2 ORD ICN C 142 0.14 0.05
3 ORD ICN D 100 0.22 0.03
4 ORD ICN E 25 1.00 0.01

关于python - 循环分组行并比较组中的第一行-Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47913232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com