pandas 0.23 - pandas.crosstab()

pandas.crosstab




pandas

pandas.crosstab

pandas.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name='All', dropna=True, normalize=False) [source]

दो (या अधिक) कारकों के एक सरल क्रॉस-सारणीयन की गणना करें। डिफ़ॉल्ट रूप से कारकों की एक आवृत्ति तालिका की गणना करता है जब तक कि मूल्यों की एक सरणी और एक एकत्रीकरण फ़ंक्शन पारित नहीं किया जाता है

पैरामीटर:

सूचकांक : सरणी-जैसे, श्रृंखला, या सरणियों / श्रृंखला की सूची

पंक्तियों में समूह द्वारा मान

कॉलम : सरणी-जैसे, श्रृंखला या सरणियों / श्रृंखला की सूची

कॉलम में समूह द्वारा मान

मान : सरणी-जैसा, वैकल्पिक

कारकों के अनुसार एकत्र करने के लिए मूल्यों की सरणी। aggfunc को निर्दिष्ट करने की आवश्यकता है।

aggfunc : फ़ंक्शन, वैकल्पिक

यदि निर्दिष्ट किया गया है, तो values भी निर्दिष्ट किया जाना चाहिए

rownames : अनुक्रम, डिफ़ॉल्ट कोई नहीं

यदि पास किया गया है, तो पंक्ति सरणियों की संख्या से मेल खाना चाहिए

colnames : अनुक्रम, डिफ़ॉल्ट कोई नहीं

यदि पास किया गया है, तो पास किए गए कॉलम सरणियों की संख्या से मेल खाना चाहिए

मार्जिन : बूलियन, डिफ़ॉल्ट गलत

पंक्ति / स्तंभ मार्जिन (सबटोटल) जोड़ें

मार्जिन_नाम : स्ट्रिंग, डिफ़ॉल्ट 'ऑल'

पंक्ति / स्तंभ का नाम जिसमें हाशिये के सत्य होने पर कुल योग होंगे।

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

dropna : बूलियन, डिफॉल्ट ट्रू

उन कॉलमों को शामिल न करें जिनकी प्रविष्टियां सभी NaN हैं

सामान्य करें : बूलियन, {'सभी', 'इंडेक्स', 'कॉलम'}, या {0,1}, डिफ़ॉल्ट गलत

मूल्यों के योग द्वारा सभी मूल्यों को विभाजित करके सामान्य करें।

  • यदि 'सभी' या True पारित हो गए हैं, तो सभी मानों को सामान्य कर देगा।
  • यदि पारित 'सूचकांक' प्रत्येक पंक्ति पर सामान्य हो जाएगा।
  • यदि पारित 'कॉलम' प्रत्येक कॉलम पर सामान्य हो जाएगा।
  • अगर मार्जिन True , तो मार्जिन वैल्यू को भी सामान्य कर देगा।

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

यह दिखाता है:
crosstab : DataFrame

टिप्पणियाँ

किसी भी श्रृंखला को पारित करने के लिए उनके नाम की विशेषताओं का उपयोग किया जाएगा जब तक कि क्रॉस-टेबुलेशन के लिए पंक्ति या स्तंभ नाम निर्दिष्ट न हों।

श्रेणीबद्ध डेटा वाले किसी भी इनपुट में क्रॉस-सारणीकरण में शामिल सभी श्रेणियां होंगी, भले ही वास्तविक डेटा में किसी विशेष श्रेणी का कोई उदाहरण न हो।

इस घटना में कि अतिव्याप्त अनुक्रमणिकाएँ खाली नहीं हैं DataFrame को लौटा दिया जाएगा।

उदाहरण

>>> a = np.array(["foo", "foo", "foo", "foo", "bar", "bar",
...               "bar", "bar", "foo", "foo", "foo"], dtype=object)
>>> b = np.array(["one", "one", "one", "two", "one", "one",
...               "one", "two", "two", "two", "one"], dtype=object)
>>> c = np.array(["dull", "dull", "shiny", "dull", "dull", "shiny",
...               "shiny", "dull", "shiny", "shiny", "shiny"],
...               dtype=object)
>>> pd.crosstab(a, [b, c], rownames=['a'], colnames=['b', 'c'])
... 
b   one        two
c   dull shiny dull shiny
a
bar    1     2    1     0
foo    2     2    1     2
>>> foo = pd.Categorical(['a', 'b'], categories=['a', 'b', 'c'])
>>> bar = pd.Categorical(['d', 'e'], categories=['d', 'e', 'f'])
>>> crosstab(foo, bar)  # 'c' and 'f' are not represented in the data,
...                     # but they still will be counted in the output
... 
col_0  d  e  f
row_0
a      1  0  0
b      0  1  0
c      0  0  0