以下是需要进行子集化的数据框:
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"]]
,但后来又出现了Cannot index with vector containing NA/NaN values
的错误。
我也试过d3 = d1[d2["Names"].tolist()]
。说[nan nan nan] not in index
有没有办法让大熊猫跳过NaN?
答案 0 :(得分:1)
您可以使用DataFrame.filter
执行此操作,然后自动处理NaN
并明确表示您的意图是对列进行分类,例如:
df1.filter(df2.Names)