Ausgabe
import pandas as pd
df = pd.read_csv('https://query.data.world/s/Hfu_PsEuD1Z_yJHmGaxWTxvkz7W_b0')
percent= 100*(len(df.loc[:,df.isnull().sum(axis=0)>=1 ].index) / len(df.index))
print(round(percent,2))
Eingabe ist https://query.data.world/s/Hfu_PsEuD1Z_yJHmGaxWTxvkz7W_b0
und die Ausgabe sollte sein
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
Lösung
Wie wäre es damit? Ich glaube, ich habe hier schon einmal etwas Ähnliches gefunden, aber ich sehe es jetzt nicht …
percent_missing = df.isnull().sum() * 100 / len(df)
missing_value_df = pd.DataFrame({'column_name': df.columns,
'percent_missing': percent_missing})
Und wenn Sie möchten, dass die fehlenden Prozentsätze sortiert werden, folgen Sie dem oben Gesagten mit:
missing_value_df.sort_values('percent_missing', inplace=True)
Wie in den Kommentaren erwähnt, können Sie möglicherweise auch mit nur der ersten Zeile in meinem obigen Code auskommen, dh:
percent_missing = df.isnull().sum() * 100 / len(df)
Beantwortet von – Engineero
Antwort geprüft von – Katrina (FixError Volunteer)