如何在熊猫中将一条线的条件插入另一条线?

时间:2019-12-20 01:07:41

标签: python pandas genetic

我在python / pandas脚本中遇到了挑战。 我的数据是一个基因表达表,其组织如下:

enter image description here

基本上,索引0包含所研究的两个条件,而索引1包含有关在样本之间鉴定的基因的信息。

然后,我想生成一个索引紧靠在一起的表0,如下所示:

enter image description here

我尝试了很多事情,例如生成索引0的列表以加入索引1 ...

请救救我,伙计们!

谢谢

2 个答案:

答案 0 :(得分:0)

假设第一列名称位于第0行,第二列名称位于第1行,请尝试以下操作:

df.columns = [f'{c1}.{c2}'.strip('.') for c1,c2 in zip(df.loc[0], df.loc[1])]

df.loc[2:]

应该是这样

enter image description here

答案 1 :(得分:0)

根据OP的评论,我更改了add_suffix函数。

构造数据框

s1 = "Gene name,Description,Foldchange,Anova,Sample 1,Sample 2,Sample 3,Sample 4,Sample 5,Sample 6".split(",")
s2 = "HK1,Hexokinase,Infinity,0.05,1213,1353,14356,0,0,0".split(",")

df = pd.DataFrame(s2).T
df.columns = s1

定义一个功能,(根据不同情况更改功能)

def add_suffix(x):
    try:
        flag = int(x[-1])
    except:
        return x
    if flag <= 4:
        return x + '.Conditon1'
    else:
        return x + '.Condition2'

然后分配列

cols = df.columns.to_series().apply(add_suffix)
df.columns = cols
相关问题