【问题标题】:create new column for every day (from a single time series) in python在 python 中为每一天(来自单个时间序列)创建新列
【发布时间】:2021-04-05 16:50:03
【问题描述】:
只是想知道如何从 python 中的单个时间序列中为每天创建新列,所以我将有 1440 行和 x 列
我的数据看起来像:
2020-12-22 21:37:00 1.21658
2020-12-22 21:38:00 1.21654
2020-12-22 21:39:00 1.21652
2020-12-22 21:40:00 1.21650
2020-12-22 21:42:00 1.21650
2020-12-22 21:43:00 1.21645
2020-12-22 21:44:00 1.21648
2020-12-22 21:45:00 1.21644
【问题讨论】:
标签:
python
time-series
panel
【解决方案1】:
您可以迭代天数列表。
假设 df 是您的 pandas 数据框:
import numpy as np
import pandas as pd
days = ['2020-12-22 21:37:00 1.21658', '2020-12-22 21:38:00 1.21654', '2020-12-22 21:39:00 1.21652', '2020-12-22 21:40:00 1.21650', '2020-12-22 21:42:00 1.21650', '2020-12-22 21:43:00 1.21645', '2020-12-22 21:44:00 1.21648', '2020-12-22 21:45:00 1.21644']
for day in days:
df[str(day)] = np.nan
之后,您可以在每一列上填充您的行。
import numpy as np
import pandas as pd
df = pd.DataFrame({"A": [1,2,3], "B": [2,3,4]})
>>> print(df)
A B
0 1 2
1 2 3
2 3 4
df["C"] = "" # creating empty column
df["D"] = np.nan # creating nan values column
>>> print(df)
A B C D
0 1 2 NaN
1 2 3 NaN
2 3 4 NaN