我有一个数据框,
chrom ID Name Sample
0 22 26920140.0 CTA15 PE12
1 22 41830075.0 CTA15 PE14
2 10 134596540.0 RP11.3 AE29
5 12 117142987.0 RP11.2 AE30
6 14 50793639.0 RP11.4 AE31
我只需要计算数据farme中Name
的出现次数,我还需要保留其他列。所以我试着,
df['count']= df.groupby('gene', as_index=True).agg(len)
chrom start Name Samples
gene
CTA15 2 1.0 1.0 1
RP11.3 1 1.0 1.0 1
我没有看到我的行的价值,只是数字,任何帮助都会很棒
答案 0 :(得分:1)
使用transform
:
df['count']= df.groupby('Name')['Name'].transform(len)
print (df)
chrom ID Name Sample count
0 22 26920140.0 CTA15 PE12 2
1 22 41830075.0 CTA15 PE14 2
2 10 134596540.0 RP11.3 AE29 1
5 12 117142987.0 RP11.2 AE30 1
6 14 50793639.0 RP11.4 AE31 1
df['count']= df.groupby('Name')['Name'].transform('size')
print (df)
chrom ID Name Sample count
0 22 26920140.0 CTA15 PE12 2
1 22 41830075.0 CTA15 PE14 2
2 10 134596540.0 RP11.3 AE29 1
5 12 117142987.0 RP11.2 AE30 1
6 14 50793639.0 RP11.4 AE31 1