ldo*_*doe 3 python inversion dataframe pandas
在 A 列中的值与 B 列中的值相反的情况下,查找重复项的最快方法是什么?
例如,如果我有一个 DataFrame :
Column A Column B
0 C P
1 D C
2 L G
3 A D
4 B P
5 B G
6 P B
7 J T
8 P C
9 J T
Run Code Online (Sandbox Code Playgroud)
结果将是:
Column A Column B
0 C P
8 P C
4 B P
6 P B
Run Code Online (Sandbox Code Playgroud)
我试过 :
df1 = df
df2 = df
for i in df2.index:
res = df1[(df1['Column A'] == df2['Column A'][i]) & (df1['Column B'] == df2['Column B'][i])]
Run Code Online (Sandbox Code Playgroud)
但这非常慢,并且它迭代相同的值......
merge与重命名的列一起使用DataFrame:
d = {'Column A':'Column B','Column B':'Column A'}
df = df.merge(df.rename(columns=d))
print (df)
Column A Column B
0 C P
1 B P
2 P B
3 P C
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
360 次 |
| 最近记录: |