我有这两个数据框:
df1:
Value
dude_id
123 x
543 y
984 z
df2:
Value
id
123 R
498 S
543 D
984 X
009 Z
Run Code Online (Sandbox Code Playgroud)
我想以df2一种只包含 的df1索引中存在的键的方式进行过滤。它应该看起来像这样:
df2:
Value
id
123 R
543 D
984 X
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
df2.filter(like=df.index, axis=0)
Run Code Online (Sandbox Code Playgroud)
然而,它使我出现以下错误:
ValueError: The truth value of a Int64Index is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Run Code Online (Sandbox Code Playgroud)
我缺少什么?
使用loc
In [952]: df2.loc[df1.index]
Out[952]:
Value
dude_id
123 R
543 D
984 X
Run Code Online (Sandbox Code Playgroud)
并且,您可以重命名索引名称
In [956]: df2.loc[df1.index].rename_axis('id')
Out[956]:
Value
id
123 R
543 D
984 X
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2247 次 |
| 最近记录: |