gpt4 book ai didi

python - 如何使用 pandas 在同一行索引下拥有多行

转载 作者:行者123 更新时间:2023-12-01 07:28:54 25 4
gpt4 key购买 nike

我正在编写一个脚本来标准化 RT-PCR 的数据。我正在从 tsv 文件中读取数据,并且正在努力将其放入 pandas 数据框中,以便它可以使用。这里的问题是行索引具有相同的名称,是否可以使其成为层次结构?

我正在使用Python 3.6。我尝试过 .groupby() 和 .pivot() 但我似乎无法让它做我想做的事。

def calculate_peaks(file_path):
peaks_tsv = pd.read_csv(file_path, sep='\t', header=0, index_col=0)

我的输入文件是这样的: input file image

我的预期输出:

                EMB.brep1.peak  EMB.brep1.length  EMB.brep2.peak  EMB.brep2.length  EMB.brep3.peak  EMB.brep3.length
primer name
Hv161 0 19276 218.41 20947 218.39 21803 218.26
1 22906 221.35 26317 221.17 26787 221.21
Hv223 0 4100 305.24 5247 305.37 4885 305.25
1 2593 435.25 3035 435.30 2819 435.32
2 4864 597.40 5286 597.20 4965 596.60

实际输出:

             EMB.brep1.peak  EMB.brep1.length  EMB.brep2.peak  EMB.brep2.length  EMB.brep3.peak  EMB.brep3.length
primer name
Hv161 19276 218.41 20947 218.39 21803 218.26
Hv161 22906 221.35 26317 221.17 26787 221.21
Hv223 4100 305.24 5247 305.37 4885 305.25
Hv223 2593 435.25 3035 435.30 2819 435.32
Hv223 4864 597.40 5286 597.20 4965 596.60

最佳答案

你可以这样做:

peaks_tsv = pd.read_csv(file_path, sep='\t', header=0)

peaks_tsv['idx'] = peaks_tsv.groupby('primer name').cumcount()

peaks_tsv.set_index(['primer name', 'idx'], inplace=True)

关于python - 如何使用 pandas 在同一行索引下拥有多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57312974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com