Python:用Pandas创建一个多列系列

时间:2015-12-19 09:24:33

标签: 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)

知道如何捏造这个吗?

1 个答案:

答案 0 :(得分:2)

虽然这样可行:

>>> 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