पर अपना स्वयं का वर्णन विशेषता जोड़ना मैं कुछ वेब डेटा पुनर्प्राप्त कर रहा हूं, इसे पार्स कर रहा हूं, और एक पांडस डेटाफ्रेम के रूप में आउटपुट को एचडीएफ 5 फाइल में संग्रहीत कर रहा हूं। H12 फ़ाइल में DataFrame
लिखने से ठीक पहले, मैं कुछ मेटाडेटा को एनोटेट करने के लिए अपनी खुद की विवरण स्ट्रिंग जोड़ता हूं कि डेटा कहां से आया था और क्या इसे पार्स करते समय कुछ भी गलत हो गया था।एक पांडस डेटाफ्रेम
In [1]: my_data_frame.desc = "Some string about the data"
In [2]: my_data_frame.desc
Out[1]: "Some string about the data"
In [3]: print type(my_data_frame)
<class 'pandas.core.frame.DataFrame'>
हालांकि, pandas.io.pytables.HDFStore()
के साथ एक ही डेटा लोड करने के बाद, मेरे जोड़ा desc
विशेषता अनुपलब्ध है और मैं त्रुटि मिलती है: AttributeError: 'DataFrame' object has no attribute 'desc'
के रूप में अगर मैं इस नई विशेषता कभी नहीं जोड़े थे।
डेटाफ्रेम ऑब्जेक्ट की अतिरिक्त विशेषता के रूप में बने रहने के लिए मैं अपना मेटाडेटा विवरण कैसे प्राप्त कर सकता हूं? (या क्या डेटाफ्रेम का कुछ मौजूदा, मान्यता प्राप्त विशेषता है जिसे मैं अपने मेटाडेटा उद्देश्यों के लिए हाइजैक कर सकता हूं?)
क्या आपको पता है कि '__doc__' विशेषता को ओवरराइट करना संभव है या यह डेटाफ्रेम के लिए बाध्य है? मुझे लगता है कि जब मैं इसे ओवरराइट करने का प्रयास करता हूं, और फिर ऑब्जेक्ट को H5 से लोड करता हूं, तो डॉकस्ट्रिंग वास्तव में केवल 'कोई नहीं' है। यह मेरा नया डॉकस्ट्रिंग नहीं रखता है, लेकिन नियमित डॉकस्ट्रिंग पर वापस नहीं आता है। – ely
आगे, मेरे लिए एक सरल कामकाज H5 फ़ाइल में एक शब्दकोष लिखना होगा, डेटाफ्रेम के लिए 'डेटा' कुंजी और मेरे स्ट्रिंग विवरण के लिए 'विवरण' कुंजी के साथ। लेकिन यह एक महत्वपूर्ण त्रुटि देता है। क्या यह H5py/PyTables के साथ एक त्रुटि है? निश्चित रूप से आपको गैर-आयताकार डेटा सरणी को H5 में स्टोर करने में सक्षम होना चाहिए? – ely
क्षमा करें, फिर से पढ़ने में कि यह महत्वपूर्ण लग रहा है। मेरा मतलब यह नहीं था कि आप (या पांडस) विशेष रूप से, बल्कि एचडीएफ 5 का मतलब है। मुझे लगता है कि यह एक शब्दकोश को समायोजित कर सकता है, लेकिन शायद पीईटीबल्स एचडीएफस्टोर का उपयोग किया जा रहा है एक पांडा वस्तु के लिए अद्वितीय है? – ely