我有一个数据框(df)x,
A B
O 2 3
1 4 4
3 2 1
您可能会注意到缺少第2行。那是因为我使用了x.dropna(),因此删除了第2行,因为它是NAN。
现在我有另一个df y:
C D
O 1 2
1 4 3
2 3 5
3 1 4
我希望y保持与x相同的行。也就是说,我希望删除y中的2号。
我使用了以下代码:
temp=x.join(y)
x=temp.ix[:,0:2]
y=temp.ix[:,2:4]
这样可行。但我想可能有更直接的方法来做到这一点?
非常感谢。
答案 0 :(得分:1)
使用loc:
y.loc[x.index]
Out:
C D
O 1 2
1 4 3
3 1 4
您可以将其分配回y:y = y.loc[x.index]
答案 1 :(得分:1)
您还可以使用index.isin
检查是否在y
的索引值中找到x
的每个索引值。
In [3]: y = y[y.index.isin(x.index)]
In [4]: y
Out[4]:
C D
O 1 2
1 4 3
3 1 4