python - 如何将多列中的时间戳重新排序为单列python

标签 python pandas sorting dataframe merge

我正在尝试将 pandas df 中多个 columnstimestamps 排序为单个时间顺序

所以对于下面的 df,我想将它们组合起来创建一列

import pandas as pd

d = ({
    '' : ['Bar','Foo','Fubar'],
    'A' : ['8:00','8:29','8:58'],        
    'B' : ['8:30','8:59','9:28'],            
    'C' : ['9:00','9:29','10:00'], 
    })

df = pd.DataFrame(data=d)

输出:

             A     B      C
0    Bar  8:00  8:30   9:00
1    Foo  8:29  8:59   9:29
2  Fubar  8:58  9:28  10:00

预期输出:

       1  2      3
0    Bar  1   8:00
1    Foo  1   8:29
2    Bar  2   8:30
3  Fubar  1   8:58
4    Foo  2   8:59
5    Bar  3   9:00
6  Fubar  2   9:28
7    Foo  3   9:29
8  Fubar  3  10:00

我可以通过 df = df.sort_values(by='1',ascending=True) 对它们进行排序,但我需要以某种方式合并它们。我努力了;

df =  df.sum(axis=1)

我也尝试过类似的加入方法,但结果总是这样

0       Bar8:008:309:00
1       Foo8:298:599:29
2    Fubar8:589:2810:00

更新:

使用@Wen 的代码我得到以下输出

df.columns=['',1,2,3]
df = pd.melt(df, '')
df = df.sort_values(by='value',ascending=True)

         variable  value
8  Fubar        3  10:00 #All ordered except for the first row?
0    Bar        1   8:00
1    Foo        1   8:29
3    Bar        2   8:30
2  Fubar        1   8:58
4    Foo        2   8:59
6    Bar        3   9:00
5  Fubar        2   9:28
7    Foo        3   9:29

除了第一行,其他的都排序了吗?

最佳答案

国际联合会

df.columns=['',1,2,3]
df.melt('')
Out[99]: 
         variable  value
0    Bar        1   8:00
1    Foo        1   8:29
2  Fubar        1   8:58
3    Bar        2   8:30
4    Foo        2   8:59
5  Fubar        2   9:28
6    Bar        3   9:00
7    Foo        3   9:29
8  Fubar        3  10:00

关于python - 如何将多列中的时间戳重新排序为单列python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51316723/

相关文章:

python - 将两个时间序列与 tz 感知的日期时间索引结合起来

python - 将记录添加到 numpy 记录数组

python - 为什么dlib的load_rgb_image()方法旋转一些图像?

python - 根据其他列修改数据框的部分列值

java - 基于多个参数构建排序列表?

javascript - 为 Javascript 数组排序注入(inject)对象而不是函数

javascript - 在设置变量时对数组进行排序后,原始数组也会排序

python - 当我使用 App Engine SDK 在本地主机中部署我的谷歌云端点 python 应用程序时出错

python - 根据另一个 Pandas Dataframe 的日期范围分配周数

python - 使用列和行索引函数填充数据帧缺失元素的最有效方法