我有一个包含多列的熊猫数据框。这些列中的 2 列应该相等但在单独的行中,第三列应该在两行中相等。
例如,给定数据帧 df[A, B, C],找到 row_x 和 row_y 使得:
(df.iloc[x, A] == df.iloc[y, B]) and (df.iloc[x, B] == df.iloc[y, A]) and (df.iloc[x, C] == df.iloc[y, C])
有没有比遍历框架更好的方法来获取交换列的行?
A = [30,31]+list(range(2,8,1))+[38,39]
B = range(10,0,-1)
C = [True, False, True, False, False, False, True, False, True, False]
df = pd.DataFrame({'A': A, 'B': B, 'C': C})
Out[]: df
A B C
0 30 10 True
1 31 9 False
2 2 8 True
3 3 7 False
4 4 6 False
5 5 5 False
6 6 4 True
7 7 3 False
8 38 2 True
9 39 1 False
Required output:
A B C
3 3 7 False
5 5 5 False
7 7 3 False
只有第 3、5 和 7 行满足上述条件。我将进一步删除第 5 行,因为我对 A 列 = B 列的行不感兴趣。请注意,第 4 行和第 6 行也交换了 A 列和 B 列中的值,但 C 列中的值不同。
大话西游666
摇曳的蔷薇
相关分类