我想统计熊猫数据框“ data”中的重复元素的数量,特别是在roi列中,然后将此数量输入到count列的每个对应行中。
例如,roi 35出现两次,因此count列中的每一行都应有一个“ 2”。
现在我尝试了以下操作:
data['count'] = data.groupby('roi').roi.count()
但这失败了。我该怎么办?
答案 0 :(得分:1)
尝试使用此行:
data['count'] = data.groupby(['roi']).size().reset_index(name='count')
最后的reset_index()函数用于显示重复编号的计数。您可以根据需要跳过它。
答案 1 :(得分:1)
roi_count = data.groupby('roi')['roi'].count().reset_index(name = 'count')
final_df = pd.merge(data,roi_count, how = 'left', on = 'roi')
答案 2 :(得分:1)
data['count'] = data.groupby('roi').roi.transform('size')
或Series.map
+ Series.value_counts
:
data['count']=data.roi.map(data.roi.value_counts())