ऐसा करने से एक श्रृंखला में अच्छी तरह से FORMATTER वापस जाने के लिए एक अच्छा तरीका pandas.Series.value_counts
और pandas.DataFrame.stack
संयोजन है कि यह दिखता है।
DataFrame
df = pandas.DataFrame(data=[[34, 'null', 'mark'], [22, 'null', 'mark'], [34, 'null', 'mark']], columns=['id', 'temp', 'name'], index=[1, 2, 3])
कुछ
आप क्या कर सकते हैं, जैसे
df.apply(lambda x: x.value_counts()).T.stack()
इस कोड में df.apply(lambda x: x.value_counts())
के लिए प्रत्येक स्तंभ पर लागू होता है value_counts
और जिसके परिणामस्वरूप DataFrame
करने के लिए इसे जोड़ देती है, ताकि आप एक साथ खत्म प्रत्येक कॉलम में प्रत्येक कॉलम के लिए DataFrame
प्रत्येक कॉलम में प्रत्येक अलग-अलग मान के प्रति एक पंक्ति और एक पंक्ति (और प्रत्येक कॉलम में दिखाई देने वाले प्रत्येक मान के लिए null
का एक पंक्ति)।
उसके बाद, T
transposes DataFrame
(ताकि आप एक सूचकांक कॉलम और कॉलम संभावित मान के बराबर करने के लिए बराबर के साथ एक DataFrame
अंत), और stack
के एक नए स्तर में DataFrame
के कॉलम बदल जाता है मल्टीइंडेक्स और सभी Null
मानों को "हटा देता है", पूरी चीज को Series
बनाते हैं।
इसी का परिणाम
id 22 1
34 2
temp null 3
name mark 3
dtype: float64
स्रोत
2016-03-02 15:44:21
लूप स्तंभों पर और प्रत्येक के लिए एक 'value_counts' प्रिंट ? – joris
क्या @ जॉरीस ने कहा। एक [मुद्दा] है (https://github.com/pydata/pandas/pull/5381) डेटाफ्रेम पर 'value_counts' विधि जोड़ने के लिए, लेकिन इंडेक्स संरेखण के साथ कुछ समस्याएं हैं। – TomAugspurger