2015-07-08 16 views
10

मेरा प्रश्न सरल है, मैं एक dataframe है और मैं एक स्तंभ के आधार पर परिणाम GroupBy और इस तरह आकार:अजगर एक शर्त के आधार द्वारा dataframe समूह पांडा

df.groupby('column').size() 

अब समस्या यह है कि मैं है केवल लोगों को जहां आकार एक्स से अधिक है मैं अगर मैं एक लैम्ब्डा समारोह या इसी तरह कुछ भी का उपयोग कर ऐसा कर सकते हैं सोच रहा हूँ करना चाहते हैं? मैंने पहले ही यह कोशिश की है:

df.groupby('column').size() > X 

और यह कुछ सही और गलत मूल्यों को प्रिंट करता है।

धन्यवाद

उत्तर

10

वर्गीकृत किया परिणाम एक नियमित DataFrame है, इसलिए बस हमेशा की तरह परिणामों को फ़िल्टर:

import pandas as pd 

df = pd.DataFrame({'a': ['a', 'b', 'a', 'a', 'b', 'c', 'd']}) 
after = df.groupby('a').size() 
>> after 
a 
a 3 
b 2 
c 1 
d 1 
dtype: int64 

>> after[after > 2] 
a 
a 3 
dtype: int64 
+0

हरी बिल्ला के हकदार हैं। धन्यवाद! –

+0

@AzizAlto :-) धन्यवाद –

9

इस कोड का प्रयास करें:

df.groupby('column').filter(lambda group: group.size > X) 
संबंधित मुद्दे