我有一个数据帧,其标题如下所示, 
df.head()
Out[660]:
Samples variable value Type
0 PE01I 267N12.3_Beta 0.066517 Beta
1 PE01R R267N12.3_Beta 0.061617 Beta
2 PE02I 267N12.3_Beta 0.071013 Beta
3 PE02R 267N12.3_Beta 0.056623 Beta
4 PE03I 267N12.3_Beta 0.071633 Beta
5 PE01I 267N12.3_FPKM 0.000000 FPKM
6 PE01R 267N12.3_FPKM 0.003430 FPKM
7 PE02I 267N12.3_FPKM 0.272144 FPKM
8 PE02R 267N12.3_FPKM 0.005753 FPKM
9 PE03I 267N12.3_FPKM 0.078708 FPKM
我想添加标题名为Beta和FPKM的新列,方法是使用from列“Type”,并基于它们在“value”列中的相应值。 到目前为止,我试着通过以下一行
df['Beta'] = df['Type'].map(lambda x: df.value if x == "Beta" else "FPKM")
它给sme以下输出
Samples variable value Type Beta
0 PE01I 267N12.3_Beta 0.066517 Beta 0 0.066517 1 0.061617 2 0.07...
1 PE01R 267N12.3_Beta 0.061617 Beta 0 0.066517 1 0.061617 2 0.07...
2 PE02I 267N12.3_Beta 0.071013 Beta 0 0.066517 1 0.061617 2 0.07...
3 PE02R 267N12.3_Beta 0.056623 Beta 0 0.066517 1 0.061617 2 0.07...
4 PE03I 267N12.3_Beta 0.071633 Beta 0 0.066517 1 0.061617 2 0.07...
Beta列有三个值,所有列都是重复的。 我的目标是要有一个看起来像
Samples variable Beta FPKM
PE01I 267N12.3_Beta 0.066517 0
PE01R 267N12.3_Beta 0.061617 0.00343
PE02I 267N12.3_Beta 0.071013 0.272144
PE02R 267N12.3_Beta 0.056623 0.005753
PE03I 267N12.3_Beta 0.071633 0.078708
任何帮助都会很好。。 谢谢
我想你需要^{} :
按注释编辑:
如果获取错误:
这意味着在
index
中有重复的值,并且需要加总。你知道吗您需要^{} ,如果aggfunc是
np.sum
或np.mean
(使用numeric),则忽略字符串列,函数''.join
仅使用字符串值,并且忽略numeric。你知道吗使用不同的} :
aggfunc
调用函数两次,然后使用^{根据} 。你知道吗
Type
列将它们分为两个数据帧之后,可以使用^{相关问题 更多 >
编程相关推荐