python - Why does mean() have different behavior on empty DataFrames? -
अगर मेरे पास पांडा में एक खाली डेटाफ्रेम है:
df = pandas.DataFrame (स्तंभ = ['ए', 'बी', 'सी'])> gt; & gt; & gt; डीएफ खाली डाटाफ्रेम कॉलम: [ए, बी, सी] अनुक्रमणिका: [] और मैं समूहों पर कुल मिलाकर, आउटपुट को आमतौर पर एक खाली डाटाफ्रेम होगा < / P> & gt; & gt; & gt; Df.groupby ('a', as_index = False) .sum () खाली डेटाफ़्रेम कॉलम: [a, b, c] अनुक्रमणिका: [] मैं कहता हूं आमतौर पर क्योंकि यह हमेशा मामला नहीं होता है यह मिनट () , अधिकतम () , योग (, count () , और इस तरह से काम करता है मात्रा () लेकिन अर्थ () के लिए नहीं, वह एक अपवाद उठाता है: & gt; & gt; & gt; Df.groupby ('a', as_index = False) .mean () ट्रेसबैक (सबसे हाल का कॉल अंतिम): फ़ाइल "& lt; stdin & gt;", पंक्ति 1, & lt; मॉड्यूल & gt; फ़ाइल "/usr/local/lib/python2.7/site-packages/pandas/core/groupby.py", पंक्ति 666, मतलब रिटर्न में self._cython_agg_general ('मतलब') फ़ाइल "/ usr / local / lib / python2 .7 / site-packages / pandas / core / groupby.py ", पंक्ति 2358, _cython_agg_general new_items में, new_blocks = self._cython_agg_blocks (कैसे, संख्यात्मक_ऑनली = संख्यात्मक_ऑनली) फ़ाइल" /usr/local/lib/python2.7/site- संकुल / पांडा / कोर / समूहबीपी ", रेखा 2408, __ में_एथीन_एगग_ब्लॉक्स में डेटाएर्रॉयर ('कोई भी संख्यात्मक प्रकार के लिए कुल') नहीं बढ़ता है pandas.core.groupby.DataError: कुल मिलाकर कोई संख्यात्मक प्रकार इस एक समग्र कार्य के लिए व्यवहार अलग क्यों है?
मैं अजगर 2.7 पर पांडा 0.14.1 का प्रयोग कर रहा हूं।
यह अपवाद वास्तविक समूह के कार्यों के लिए उठाया जाता है: जब आप योग कहते हैं, तो यह श्रृंखला या डीएफ संस्करण को बुला रहा है जिसमें कोई प्रतिबंध नहीं है।
तो वास्तव में माध्य , औसत , sem , std , var और ohlc < / सह डी> सभी अपवाद उठाएंगे। यह भी ध्यान रखें कि यदि आपके पास गैर-संख्यात्मक डेटा होता है, तो अपवाद उठाया जाएगा।
जब आप मतलब : में [18]: df.groupby ('a', as_index = false) .apply (मतलब) आउट [18]: खाली डेटाफ़्रेम कॉलम: [] अनुक्रमणिका : [] यहां कोई अपवाद नहीं उठाया गया है क्योंकि श्रृंखला या डीएफ संस्करण लागू किया जा रहा है।
Comments
Post a Comment