2024-03-28 16:09:28 发布
网友
我有一个dataframe,我想在其中删除除特定列以外的所有列中的值NA(在本例中为“V1”)
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')
但由于第一列的原因,它无法移除
将^{}与subset参数一起使用:
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的值是唯一的,并且它是数据集中唯一的非数字列,那么这个值就更有意义
将^{} 与
subset
参数一起使用:另一个选项(如果V1值是唯一的)是首先将V1设置为索引,然后您的dropna调用将简化:
如果V1的值是唯一的,并且它是数据集中唯一的非数字列,那么这个值就更有意义
相关问题 更多 >
编程相关推荐