import pandas as pd
df = pd.read_csv('https://query.data.world/s/Hfu_PsEuD1Z_yJHmGaxWTxvkz7W_b0')
d= df.loc[df.isnull().sum(axis=1)>5]
d.dropna(axis=0,inplace=True)
print(round(100*(1-df.count()/len(df)),2))
我得到的输出为
Ord_id 0.00
Prod_id 0.00
Ship_id 0.00
Cust_id 0.00
Sales 0.24
Discount 0.65
Order_Quantity 0.65
Profit 0.65
Shipping_Cost 0.65
Product_Base_Margin 1.30
dtype: float64
但输出
Ord_id 0.00
Prod_id 0.00
Ship_id 0.00
Cust_id 0.00
Sales 0.00
Discount 0.42
Order_Quantity 0.42
Profit 0.42
Shipping_Cost 0.42
Product_Base_Margin 1.06
dtype: float64
7条答案
按热度按时间jm2pwxwz1#
试试这个办法:
wfsdck302#
我认为您正在尝试查找空值之和大于5的行的索引。请使用
np.where
而不是df.loc
来查找索引,然后删除它们。请尝试:
输出:
ddhy6vgd3#
试试这个,应该可以
a8jjtwal4#
尝试此解决方案
vaj7vani5#
这个应该可以
6mw9ycah6#
请尝试这些,这将有助于
g0czyy6m7#
这是可行的: