gpt4 book ai didi

python - 如果有另一行匹配数据中的某些条件,则从 pandas DataFrame 中查找行

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:31 24 4
gpt4 key购买 nike

例如,如果我有一个像下面这样的 DF:

n from      km      to
0 B 300 A
1 A 300 B
2 D 290 A
3 B 310 C
4 A 290 D

我想选择第 0、1、2 和 4 行,因为它们在同一个 DF 中都有另一行,该 DF 反转了 fromto

df2 = pd.DataFrame(columns=['to', 'from', 'km'])

for index, row in df.iterrows():
f, t = row['from'], row['to']
if ((df['to'] == f) & (df['from'] == t)).any():
df2 = df2.append(row)
> df2

to from km
0 A B 300
1 B A 300
2 A D 290
4 D A 290

是否可以在不对行进行迭代的情况下执行此操作?

最佳答案

这是排序您的列并找到重复的

的一种方法
s=pd.DataFrame(np.sort(df[['from','to']].values,1)).duplicated(keep=False)
yourdf=df[s]
yourdf
Out[32]:
n from km to
0 0 B 300 A
1 1 A 300 B
2 2 D 290 A
4 4 A 290 D

关于python - 如果有另一行匹配数据中的某些条件,则从 pandas DataFrame 中查找行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55143622/

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