【发布时间】:2016-07-27 20:40:46
【问题描述】:
我知道在 R 中我可以将 tidyr 用于以下用途:
data_wide <- spread(data_protein, Fraction, Count)
data_wide 将继承 data_protein 中所有未传播的列。
Protein Peptide Start Fraction Count
1 A 122 F1 1
1 A 122 F2 2
1 B 230 F1 3
1 B 230 F2 4
变成
Protein Peptide Start F1 F2
1 A 122 1 2
1 B 230 3 4
但在熊猫(Python)中,
data_wide = data_prot2.reset_index(drop=True).pivot('Peptide','Fraction','Count').fillna(0)
不继承函数中未指定的任何内容(索引、键、值)。 因此,我决定通过 df.join() 加入它:
data_wide2 = data_wide.join(data_prot2.set_index('Peptide')['Start']).sort_values('Start')
但这会产生重复的肽段,因为有多个起始值。有没有更直接的方法来解决这个问题?或者省略重复的连接的特殊参数?提前谢谢你。
【问题讨论】:
标签: python pandas dataframe pivot-table