2015-12-19 2 views
2

Я пытаюсь создать многоколоночную Серию с использованием библиотеки панд:Python: Создание многоколоночной Серии с пандами

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) 

Любая идея, как это сделать?

ответ

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

Спасибо за asnwer. Да, кажется, что ваш второй ответ проще для последующего использования данных. –

+1

Да, для этого нужны кадры данных. –

+0

@MpizosDimitris Похоже, вы можете [upvote] (http://stackoverflow.com/help/privileges/vote-up);). –

Смежные вопросы