python - 将 N x 4 pandas 数据框重新排序为 N x 2,以便将三重数据集排列成一个 x 列和一个 y 列

标签 python pandas

我有一个一式三份的数据集,如下所示:

conc rep1 rep2 rep3
0    0.1  0.2  0.1
1    3    3.2  2.8

我想重新组织它,使我有一个 x 列(浓度)和一个 y 列:

conc y-data
0    0.1
0    0.2
0    0.1
1    3
1    3.2
1    2.8

我需要像这样组织它,这样我就可以将它提供给曲线拟合函数,该函数仅接受一列/列表的 x 数据和 y 数据之一。我该怎么做呢?我考虑以某种方式用它的 x 值切断每一列,以获得 3 个带有 conc 和 rep# 的数据帧,然后连接到我想要的 N x 2 数据集结构中。但我找不到如何做到这一点。这也可能是解决这个问题的一个糟糕方法。

最佳答案

使用熔化

df.melt('conc').drop('variable',1).sort_values('conc')
Out[40]: 
   conc  value
0     0    0.1
2     0    0.2
4     0    0.1
1     1    3.0
3     1    3.2
5     1    2.8

关于python - 将 N x 4 pandas 数据框重新排序为 N x 2,以便将三重数据集排列成一个 x 列和一个 y 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53055941/

相关文章:

javascript - 从 python 调用外部 javascript 函数

java - 如何设计可扩展的错误码?

python - Pandas:聚合后计算每个组的列数

python - 多索引和时区 - 卡住列表错误

python - 在 dask 数据框中创建一个 if-else 条件列

Python生成所有非递减序列

python - 如何在 Python 中将折叠标量转储到 YAML(使用 ruamel?)

Python:将 nDimensions 列表转换为字符串,反之亦然

python - 数据帧行的快速笛卡尔求和

python - 将字典转换为 Pandas 数据框