如何从另一个包含NaN的帧中的列表中子集数据帧中的列?

2024-04-26 18:24:52 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是需要子集的数据帧:

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

有没有办法让熊猫跳过南区?你知道吗


Tags: 数据框架indexnamesnanyearframe子集
1条回答
网友
1楼 · 发布于 2024-04-26 18:24:52

您可以使用DataFrame.filter来执行此操作,这将自动处理NaN,并使其非常明确您的意图是对列进行子集设置,例如:

df1.filter(df2.Names)

相关问题 更多 >