pandas 0.23 - DataFrameGroupBy.quantile

pandas.core.groupby.DataFrameGroupBy.quantile




pandas

pandas.core.groupby.DataFrameGroupBy.quantile

DataFrameGroupBy.quantile

अनुरोधित अक्ष पर दिए गए मान पर लौटें मान, एक ला numpy.percentile।

पैरामीटर:

q : फ्लोट या सरणी-जैसे, डिफ़ॉल्ट 0.5 (50% मात्रात्मक)

गणना करने के लिए 0 <= q <= 1, मात्रात्मक (ओं)

अक्ष : {0, 1, 'सूचकांक', 'कॉलम'} (डिफ़ॉल्ट 0)

पंक्ति-वार के लिए 0 या 'सूचकांक', कॉलम-वार के लिए 1 या 'कॉलम'

num_only : बूलियन, डिफ़ॉल्ट सही

यदि गलत है, तो डेटाटाइम और टाइमडेलटा डेटा की मात्रा भी गणना की जाएगी

प्रक्षेप : {'रैखिक', 'निचला', 'उच्च', 'मध्य बिंदु', 'निकटतम'}

संस्करण में नया 0.18.0।

यह वैकल्पिक पैरामीटर उपयोग करने के लिए प्रक्षेप विधि को निर्दिष्ट करता है, जब वांछित क्वांटाइल दो डेटा बिंदुओं i और j बीच स्थित होता है:

  • रैखिक: i + (j - i) * fraction , जहां fraction i और j घिरा सूचकांक का भिन्नात्मक भाग है।
  • निचला: i
  • उच्चतर: j
  • निकटतम: i या j जो भी निकटतम है।
  • midpoint: ( i + j ) / 2
यह दिखाता है:

क्वांटाइल्स: सीरीज़ या डेटाफ़्रेम

  • यदि q एक सरणी है, तो एक DataFrame लौटाया जाएगा जहां सूचकांक q , कॉलम स्वयं के कॉलम हैं, और मान क्वांटाइल हैं।
  • यदि q एक फ्लोट है, तो एक श्रृंखला वापस आ जाएगी जहां सूचकांक स्वयं के कॉलम हैं और मान क्वांटाइल हैं।

यह भी देखें

pandas.core.window.Rolling.quantile

उदाहरण

>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),
                      columns=['a', 'b'])
>>> df.quantile(.1)
a    1.3
b    3.7
dtype: float64
>>> df.quantile([.1, .5])
       a     b
0.1  1.3   3.7
0.5  2.5  55.0

numeric_only=False निर्दिष्ट करना numeric_only=False से डेटाटाइम और टाइमडेलटा डेटा की मात्रा को भी गणना करेगा।

>>> df = pd.DataFrame({'A': [1, 2],
                       'B': [pd.Timestamp('2010'),
                             pd.Timestamp('2011')],
                       'C': [pd.Timedelta('1 days'),
                             pd.Timedelta('2 days')]})
>>> df.quantile(0.5, numeric_only=False)
A                    1.5
B    2010-07-02 12:00:00
C        1 days 12:00:00
Name: 0.5, dtype: object