मैं टाइटैनिक डेटासेट के साथ काम कर रहा हूं। मुझे आश्चर्य है कि ट्रेन सेट से शून्य मान का हिस्सा कैसे दिखाया जाए।

यहाँ मेरा कोड है: `

train_count_of_missval_by_col = (train.isnull().sum())
print('----- all columns along with count of missing value')
print(train_count_of_missval_by_col)
print('----only columns which has missing values----')
print(train_count_of_missval_by_col[train_count_of_missval_by_col>0])
print('----only columns which has missing data to total observations----')
print(train_count_of_missval_by_col[train_count_of_missval_by_col>0]/train.shape[])`

दुर्भाग्य से, कोड की अंतिम पंक्ति त्रुटि उत्पन्न करती है। अंतिम पंक्ति में क्या जोड़ें / संपादित करें ताकि कोड काम करे?

1
Bale Rudal 6 पद 2020, 10:42

1 उत्तर

सबसे बढ़िया उत्तर

मुझे यकीन नहीं है कि इसके लिए कोई विशिष्ट ऑपरेशन है या नहीं। info() आपको कच्चा # दिखाता है और आपको कुल पंक्तियां बताता है लेकिन % के लिए कोई पैरामीटर नहीं हैं। साथ ही .info() एक None प्रकार की वस्तु के रूप में लौटता है, इसलिए आप उस वस्तु से किसी भी डेटा तक नहीं पहुंच सकते।

मैं कॉलम के माध्यम से लूपिंग का सुझाव दूंगा और df[col].isnull().sum() / df.shape[0] * 100 के साथ कुल पंक्तियों से विभाजित # नल को वापस कर दूंगा और आउटपुट को स्वरूपित स्ट्रिंग में प्रिंट कर दूंगा:

d = {'Col1': [np.nan, 6, np.nan, 2, np.nan],
     'Col2': [np.nan, 3, 5, np.nan, 9],
     'Col3': [2, 1, 8, np.nan, 9]}
df = pd.DataFrame(d)
for col in df.columns:
    print(col, f'{df[col].isnull().sum() / df.shape[0] * 100} % NULL')

Col1 60.0 % NULL
Col2 40.0 % NULL
Col3 20.0 % NULL
0
David Erickson 6 पद 2020, 11:12