2017-02-21 78 views
1

我有熊貓一個多指標,看起來像由下面的代碼生成一個:轉換大熊貓多指標爲datetime格式

arrays = [[2001, 2001, 2003, 2004], ['January', 'March', 'June', 'December']] 
tuples= list(zip(*arrays)) 
index = pd.MultiIndex.from_tuples(tuples, names=['year', 'month']) 

我想這個指標轉換爲單個日期時間指數。我試過使用

pd.to_datetime(index, format="%Y %B") 

但它給了我一個錯誤。

請問您能否以最有效的方式提供一些幫助?

感謝

回答

1

您可以使用map第一:

idx = index.map(lambda x: ''.join((str(x[0]), x[1]))) 
print (idx) 
['2001January' '2001March' '2003June' '2004December'] 

print (pd.to_datetime(idx, format="%Y%B")) 
DatetimeIndex(['2001-01-01', '2001-03-01', '2003-06-01', '2004-12-01'], 
       dtype='datetime64[ns]', freq=None) 

另一種解決方案:

idx = index.map(lambda x: '{}{}'.format(x[0], x[1])) 
print (idx) 
['2001January' '2001March' '2003June' '2004December'] 

或者list comprehension解決方案:

idx = ['{}{}'.format(x[0], x[1]) for x in index] 
print (idx) 
['2001January', '2001March', '2003June', '2004December']