python删除空值多于50%的行_删除Pandas中“空”值超过60%的列

该博客介绍了如何使用Pandas删除数据框中空值(包括''、'NULL'和0)超过60%的列,并展示了一个具体的Python代码示例,最终保留满足条件的列并展示结果数据帧。
摘要由CSDN通过智能技术生成

我有一个这样的数据框:import pandas as pd

data = {

'c1': ['Test1','Test2','NULL','Test3',' ','Test4','Test4','Test1',"Test3"],

'c2': [' ','Test1',' ','NULL',' ','NULL','NULL','NULL','NULL'],

'c3': [0,0,0,0,0,1,5,0,0],

'c4': ['NULL', 'Test2', 'Test1','Test1', 'Test2', 'Test2','Test1','Test1','Test2']

}

df = pd.DataFrame(data)

df

数据帧如下所示:c1 c2 c3 c4

0 Test1 0 NULL

1 Test2 Test1 0 Test2

2 NULL 0 Test1

3 Test3 NULL 0 Test1

4 0 Test2

5 Test4 NULL 1 Test2

6 Test4 NULL 5 Test1

7 Test1 NULL 0 Test1

8 Test3 NULL 0 Test2

我想删除所有列,这些列有超过60%的“空”值“空”在我的例子中是指这些值例如:''、'NULL'或0。有字符串(c1、c2、c4)和整数(c3)。

结果应该是一个仅包含列c1和c4的数据帧。c1 c4

0 Test1 NULL

1 Test2 Test2

2 NULL Test1

3 Test3 Test1

4 Test2

5 Test4 Test2

6 Test4 Test1

7 Test1 Test1

8 Test3 Test2

我不知道如何处理那个问题。我唯一想到的是df.loc[:, (df != 0).any(axis=0)]

若要删除所有值为0的列,请执行“NULL”等操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值