我在 csv 中有以下資料:
種類、來源、計數
Bacillus acidicola、GenBank、1
Bacillus acidicola、RefSeq、1
Bacillus aerius、GenBank、1
Bacillus aerolatus、RefSeq、1
我的預期輸出如下:
species,genbank_count, refseq_count
Bacillus acidicola,1, 1
Bacillus aerius,1, 0
Bacillus aerolatus,0,1
我嘗試使用代碼來計算來源,如下例所示:
gen_bank = pd.read_csv('res.csv')
print(df.loc[gen_bank['0'] == 'GenBank'])
count = df.groupby(['species', 'origin']).size()
df.count().to_frame('counts').reset_index()
count['GeneBank'] = df.groupby(['species'], ['id']).size()
count['RefSeq'] = df.loc[df.origin == 'RefSeq', 'origin'].count()
uj5u.com熱心網友回復:
IIUC,您可以使用 pivot 來獲得結果
df.pivot('species', columns='origin').reset_index().fillna(0)
species count
origin GenBank RefSeq
0 Bacillus acidicola 1.0 1.0
1 Bacillus aerius 1.0 0.0
2 Bacillus aerolatus 0.0 1.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/492553.html
