2017-02-23 28 views
1

,我有以下的數據幀:拆分float類型數據框列到兩列在Python

>>> print df.head() 
>>> print df.dtypes 

            PRICE 
2017-01-05 11:03:58.425000+00:00 340.143 
2017-01-05 11:23:37.427000+00:00 216.639 
2017-01-05 11:35:10.282000+00:00 201.093 
2017-01-05 12:54:10.408000+00:00 201.093 
2017-01-05 15:41:38.521000+00:00 201.093 

PRICE float64 
dtype: object 

我想拆分此成兩列,並保持PRICEfloat64類型和轉換等列datetime64[ns]列,但我遇到了麻煩,如何分割一個float64類型的列!

希望的輸出:

>>> print df.head() 
>>> print df.dtypes 
         TIMESTAMP PRICE 
2017-01-05 11:03:58.425000+00:00 340.143 
2017-01-05 11:23:37.427000+00:00 216.639 
2017-01-05 11:35:10.282000+00:00 201.093 
2017-01-05 12:54:10.408000+00:00 201.093 
2017-01-05 15:41:38.521000+00:00 201.093 

TIMESTAMP datetime64[ns] 
PRICE    float64 
dtype: object 

我可以由數據幀轉換成CSV然後重新讀回到另一個數據幀,然後重命名的列,然後將所述的列到他們期望的類型實現thsi,但它不太pythonic,需要更長的時間來運行!

感謝

回答

1

你需要reset_index,因爲firstindex

df = df.reset_index().rename(columns={'index':'TIMESTAMP'}) 
print (df) 
       TIMESTAMP PRICE 
0 2017-01-05 11:03:58.425 340.143 
1 2017-01-05 11:23:37.427 216.639 
2 2017-01-05 11:35:10.282 201.093 
3 2017-01-05 12:54:10.408 201.093 
4 2017-01-05 15:41:38.521 201.093 
+0

謝謝!這樣可行 – nrs90