Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
Pandas 在Python中将timeseries转换为数据帧_Pandas - Fatal编程技术网

Pandas 在Python中将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

我有一个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: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,我知道这很愚蠢,所以这就是为什么我想找到一种更有效的方法来做这件事。