Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在pandas中将一行的条件插入另一行?_Python_Pandas_Genetic - Fatal编程技术网

Python 如何在pandas中将一行的条件插入另一行?

Python 如何在pandas中将一行的条件插入另一行?,python,pandas,genetic,Python,Pandas,Genetic,我在python/pandas脚本中遇到了一个挑战。 我的数据是一个基因表达表,其组织如下: 基本上,索引0包含所研究的两种情况,而索引1包含样本之间确定的基因信息 然后,我想生成一个索引为0和1的表,如下所示: 我已经尝试了很多事情,比如生成索引0的列表以加入索引1 救救我,伙计们,求你们了 谢谢假设第一行列名在第0行,第二行列名在第1行,请尝试以下操作: df.columns = [f'{c1}.{c2}'.strip('.') for c1,c2 in zip(df.loc[0], d

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

基本上,索引0包含所研究的两种情况,而索引1包含样本之间确定的基因信息

然后,我想生成一个索引为0和1的表,如下所示:

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

救救我,伙计们,求你们了


谢谢

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

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

df.loc[2:]
应该是这样的


根据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
定义函数,(根据不同情况更改函数)


你能把你的数据作为文本输出吗?我们可以创建一个数据框一,你只需要给一个片段df[0:1]就行了。我得到了三条主线:,,,,,Cond1,,,Cond2,,基因名,描述,Foldchange,方差分析,样本1,样本2,样本3,样本4,样本5,样本6 HK1,己糖激酶,无穷大,0.051213135314356,0,0,这有帮助吗,谢谢你的帮助!但它不起作用,我不知道它是否有帮助,但这里是.csv版本的文件:,,,,Cond1,,,Cond2,,基因名,描述,折叠变化,方差分析,样本1,样本2,样本3,样本4,样本5,样本6 HK1,己糖激酶,无穷大,0.051213135314356,0,0,我想它是,,,,Cond1,,,Cond2,,基因名,描述,折叠变化,方差分析,样本1.Cond1,样本2.Cond1,样本3.Cond1,样本4.Cond2,样本5.Cond2,样本6.Cond2 HK1,己糖激酶,无穷大,0.051213135314356,0,0,0当我应用你的脚本时,没有变化:/你把它作为一个数据帧读了吗?如果是这样,您可以执行
df.to_clipboard()
并将输出粘贴到此处。另外,你也可以使用
pd.read\u剪贴板()
Unnamed:0 Unnamed:1 Unnamed:2 Unnamed:3 Unnamed:4 Unnamed:5 Unnamed:6 Unnamed:7 Unnamed:8 Unnamed:9 Unnamed:10 0 Cond1 Cond2 1基因名称描述Foldchange Anova样本1样本2样本3样本4样本5样本6 2 HK1己糖激酶无穷大0.05 1213 1353 14356 0 0 0参见对上述答案的编辑。您可以使用
pd.read\u csv(file.csv,header=False).fillna(“”)
将文件放入文件。也许会有帮助。嘿,兰姆达,谢谢你帮我!但这段代码不起作用。如果您想重试,请在此链接中输入我的csv文件:pastebin.com/td0cp5v
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