我的数据框如下所示:
SNP A B S1 S2 S3 S4 S5 S6 S7
0 rs123 T C 001 100 100 100 001 100 100
2 rs126 G A 010 100 010 100 010 100 010
我希望输出为:
SNP A B S1 S2 S3 S4 S5 S6 S7
0 rs123 T C CC TT TT TT CC TT TT
2 rs126 G A GA GG GA GG GA GG GA
情况是
if '001' --> df['B'] + df['B']
if '010' --> df['A'] + df['B']
if '100' --> df['A'] + df['A']
我的代码
for col in df.iloc[:,3:].columns:
df[col] = df[col].apply(lambda x: myfunc(x))
def myfunc(x):
if x == '001':
return df['B'] + df['B']
elif x == '010':
return df['A'] + df['B']
elif x == '100':
return df['A'] + df['A']
但我没有得到想要的产出:(有人能帮我吗
将三个总和作为新列添加到数据框:
迭代列并应用如下逻辑:
相关问题 更多 >
编程相关推荐