我正在尝试使用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)
知道如何捏造这个吗?
答案 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