这是需要子集化的数据框:
df1:
A B C
0 1 3 1
1 0 4 1
2 3 1 1
3 2 -6 1
4 8 1 -1
5 10 0 9
. . . .
. . . .
. . . .
[Frame Continues]
我的引用系:
df2:
Names Year
0 A 3
1 C 4
2 NaN 3
3 NaN 1
4 NaN 3
我想要什么:
df3:
A C
0 1 1
1 0 1
2 3 1
3 2 1
4 8 -1
5 10 9
. . .
. . .
. . .
[Frame Continues]
帧末尾的 .
表示帧延续到某个长度。
该帧有一个整数索引。如框架左侧所示。
我尝试过:d3 = d1[d2["Names"]]
,但随后出现错误,指出无法使用包含 NA/NaN 值的向量进行索引
。
我还尝试了d3 = d1[d2["Names"].tolist()]
。说[nan nan nan]不在索引中
有没有办法让 pandas 跳过 NaN?
最佳答案
您可以使用 DataFrame.filter
来执行此操作,它将自动处理 NaN
并使其非常明确您的意图是对列进行子集化,例如:
df1.filter(df2.Names)
关于python - 如何从包含 NaN 的另一个框架中的列表中对 pandas 数据框架中的列进行子集化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38310889/