2017-02-23 29 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