में लापता मूल्यों के साथ इन्स को निर्यात करना सीएसवी को पांडस डेटाफ्रेम सहेजते समय, कुछ पूर्णांक फ्लोट में परिवर्तित हो रहे हैं। ऐसा होता है जहां फ्लोट के कॉलम में मूल्य गुम हैं (np.nan
)।पांडस
क्या इससे बचने का कोई आसान तरीका है? (विशेष रूप से एक स्वचालित तरीके से -। मैं अक्सर विभिन्न डेटा प्रकार के कई कॉलम के साथ सौदा)
उदाहरण के लिए
import pandas as pd
import numpy as np
df = pd.DataFrame([[1,2],[3,np.nan],[5,6]],
columns=["a","b"],
index=["i_1","i_2","i_3"])
df.to_csv("file.csv")
पैदावार
,a,b
i_1,1,2.0
i_2,3,
i_3,5,6.0
मैं प्राप्त करना चाहते हैं क्या
है,a,b
i_1,1,2
i_2,3,
i_3,5,6
संपादित करें: मैं Support for integer NA - Pandas Caveats and Gotchas से पूरी तरह से अवगत हूं। प्रश्न यह है कि एक अच्छा कामकाज क्या है (विशेष रूप से अगर विभिन्न प्रकार के कई अन्य कॉलम हैं और मुझे पहले से पता नहीं है कि "पूर्णांक" कॉलम में मूल्य गुम हैं)।
क्यों यह कोई मुद्दा है , इनट्स के लिए 'NaN' का प्रतिनिधित्व करने का कोई तरीका नहीं है इसलिए फ़्लोट में रूपांतरण। आपको 'NaN' मानों को किसी चीज़ के साथ प्रतिस्थापित करना होगा जिसे' 0' की तरह int के रूप में प्रदर्शित किया जा सकता है, या स्ट्रिंग में कनवर्ट किया जा सकता है और 'nan' स्ट्रिंग को खाली मान के साथ प्रतिस्थापित कर सकता है और फिर – EdChum
@EdChum निर्यात करता है, मुझे पता है कि' NaN' तैर रहे हैं। बस यह कष्टप्रद है कि "गायब int" नहीं है (डेटा परिप्रेक्ष्य से - एक लापता क्षेत्र एक गुम फ़ील्ड है; लापता फ्लोट के बारे में कुछ खास नहीं है)। बात यह है कि मैं एक लापता int को '0' के रूप में निर्यात नहीं करना चाहता, लेकिन एक खाली क्षेत्र के रूप में (कुछ अनुप्रयोगों के लिए मैं लापता इंक को '-1' में परिवर्तित करता हूं, लेकिन दूसरों के लिए यह समस्याग्रस्त हो सकता है)। –
@PiotrMigdal मुझे लगता है कि उस मामले में आपका एकमात्र शॉट स्ट्रिंग में कनवर्ट करना है और खाली स्ट्रिंग के साथ नैन भरना है, जैसा कि पहले से ही – Korem