gpt4 book ai didi

python - 从 pandas dropna 中排除特定列

转载 作者:行者123 更新时间:2023-12-04 02:30:01 26 4
gpt4 key购买 nike

我有一个数据框,我想在其中删除除特定列(在本例中为“V1”)以外的所有值 NA

df=

 V1   V2   V3   V4  
A 10 20 NA
B NA NA NA
C 5 20 3
D 15 20 4
E NA 10 5

输出=

 V1   V2   V3   V4  
A 10 20 NA
C 5 20 3
D 15 20 4
E NA 10 5

任何人都可以建议我如何继续我试过

df.dropna(how='all')

但由于第一列无法删除

最佳答案

使用dropna使用 subset 参数:

df.dropna(subset=df.columns.difference(['V1']), how='all')

V1 V2 V3 V4
0 A 10.0 20.0 NaN
2 C 5.0 20.0 3.0
3 D 15.0 20.0 4.0
4 E NaN 10.0 5.0

另一种选择(如果 V1 值是唯一的)将首先将 V1 设置为索引,然后您的 dropna 调用会简化:

df.set_index('V1').dropna(how='all')


V2 V3 V4
V1
A 10.0 20.0 NaN
C 5.0 20.0 3.0
D 15.0 20.0 4.0
E NaN 10.0 5.0

如果 V1 的值是唯一的,并且它是数据集中唯一的非数字列,这更有意义。

关于python - 从 pandas dropna 中排除特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64843289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com