Python:使用 Pandas 创建多列系列

标签 python pandas time-series

我正在尝试使用 pandas 库创建多列系列:

import pandas as pd
import numpy as np
StartTime = '2015-10-01'
EndTime = '2016-01-01'
step = '1min'

Time= pd.date_range(StartTime,EndTime,freq=step)
Value1 = np.random.choice(range(0,100),len(Time))
Value2 = np.random.choice(range(0,100),len(Time))
Value3 = np.random.choice(range(0,100),len(Time))
#Time series of one variable
TimeSeries = pd.Series(Time,Value1)

我想要的是每个时间点都有3个变量。我尝试了以下方法,但没有成功:

 TimeSeries = pd.Series(Time,Value1,Value2,Value3)

知道如何实现这个吗?

最佳答案

虽然这可行:

>>> TimeSeries = pd.Series(tuple(zip(*(Value1, Value2, Value3))), index=Time)
>>> TimeSeries.head()
2015-10-01 00:00:00    (71, 58, 69)
2015-10-01 00:01:00     (59, 1, 94)
2015-10-01 00:02:00     (50, 65, 6)
2015-10-01 00:03:00     (16, 50, 7)
2015-10-01 00:04:00    (20, 36, 41)
Freq: T, dtype: object

最好使用数据框:

>>> df = pd.DataFrame({'Value1': Value1, 'Value2': Value2, 'Value3':Value3}, index=Time)
>>> df.head()
                     Value1  Value2  Value3
2015-10-01 00:00:00      71      58      69
2015-10-01 00:01:00      59       1      94
2015-10-01 00:02:00      50      65       6
2015-10-01 00:03:00      16      50       7
2015-10-01 00:04:00      20      36      41

关于Python:使用 Pandas 创建多列系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34369178/

相关文章:

python - 将多个 GluonTS 预测导出到 pandas 数据框

python - 没有名为 "myapp"的模型,即使我在 settings.py 中添加了它

python - 在 Windows 上用 Python 打开设备句柄

python - 如何仅转置特定数量并将其添加到现有数据框

python - 如何根据用户输入(只有一条记录)创建用于预测的虚拟变量?

python - 如何检测时间序列数据的变化是否不再显着?

python - 列表列表中子列表的最大和

python - 根据对象的属性访问numpy数组

python - 为什么用 Pandas 写入时 CSV 文件比 HDF5 文件小?

time-series - 如何查询按设备对齐的数据值,并使用 Apache IoTDB 删除一定数量的设备结果?