Pandas 在Python中将timeseries转换为数据帧
我有一个timeseries数据集,它有两列。第一列是时间戳,第二列是数据。时间戳按分钟排序,覆盖全年Pandas 在Python中将timeseries转换为数据帧,pandas,Pandas,我有一个timeseries数据集,它有两列。第一列是时间戳,第二列是数据。时间戳按分钟排序,覆盖全年 Timestamp Data 1/1/2017 0:00 50 1/1/2017 0:01 80 ... 12/31/2017 23:59 100 因此,现在我希望将数据集重新排列为一个表,每个列代表不同的日期,但行仍然代表每分钟的数据。新的数据集如下所示 1/1 1/2 1/3 ....... 12/31 0
Timestamp Data
1/1/2017 0:00 50
1/1/2017 0:01 80
...
12/31/2017 23:59 100
因此,现在我希望将数据集重新排列为一个表,每个列代表不同的日期,但行仍然代表每分钟的数据。新的数据集如下所示
1/1 1/2 1/3 ....... 12/31
0:00 50 60 34 ....... 67
0:01 34 211 90 ....... 90
...
23:59
那么有没有一种快速的方法呢?首先将“时间戳”列拆分为日期和时间。如何做到这一点取决于它是真正的时间戳还是字符串。如果是时间戳,则使用(使用'Date'作为列名,以避免与内置的'timestamp'混淆
df['Day'] = df['Date'].map(pd.Timestamp.date)
df['Time'] = df['Date'].map(pd.Timestamp.time)
del df['Date']
使用pivot_表遵循以下步骤:
pd.pivot_table(df, values='Data', index=['Time'], columns=['Day'])
首先,将“时间戳”列拆分为日期和时间。如何执行此操作取决于它是真正的时间戳还是字符串。如果它是时间戳,请执行(使用“日期”作为列名以避免与内置的“时间戳”混淆)
df['Day'] = df['Date'].map(pd.Timestamp.date)
df['Time'] = df['Date'].map(pd.Timestamp.time)
del df['Date']
使用pivot_表遵循以下步骤:
pd.pivot_table(df, values='Data', index=['Time'], columns=['Day'])
你必须先尝试自己做一些事情,然后如果你需要关于特定问题的建议,那么人们可能会提供帮助-但恐怕他们不会为你做这项工作。我是手动做的。在新的一天找到时间戳标记,手动添加一个新列来移动数据。它在excel中,我知道这很愚蠢,这就是为什么我想找到一种更有效的方法。你必须先尝试自己做一些事情,然后如果你需要关于特定问题的建议,那么人们可能会提供帮助-但恐怕他们不会为你做这项工作。我是手动操作的。找到新的一天的时间戳标记,手动添加一个新列来移动数据。它在excel,我知道这很愚蠢,所以这就是为什么我想找到一种更有效的方法来做这件事。