52289


markt_train_dfというデータフレームを扱っています。データ型は以下の通りとなっております。  
今、一番上の”time"という列のデータ型をobjectからdatetime64[ns,
UTC]に変更しなければならないのですが、どのようにすれば"time"のデータ型のみを変更したdataframeを取得できるでしょうか。  
初歩的な質問で大変恐縮ですがご教授いただきましたら幸いです。  
どうぞよろしくお願い申し上げます。

[![画像の説明をここに入力](https://i.stack.imgur.com/WYSIa.png)](https://i.stack.imgur.com/WYSIa.png)


CC BY-SA 4.0
2019-01-24T09:50:25.653
52284
2019-01-24T11:25:46.910
27030
question
python pandas
object型の列をdatetime64型へ変換したい


**time列** にどのような形式のデータが入っているかにもよりますが、  
通常であれば

[code]

    market_train_df['time'] = pd.to_datetime(market_train_df['time'])
    
[/code]

で変換できるかと思います

一応サンプル

[code]

    import pandas as pd
    df = pd.DataFrame({'time':['2019/01/24 18:00',
                               '2019/01/24 19:00:00.1234',
                               '201901242000',
                               '21:00',
                               '2019/1/25'],
                       'other_format_time': ['01220100',
                                             '01220200',
                                             '01220300',
                                             '01220400',
                                             '01220500'],
                       'unixtime': [1548105800,
                                    1548105900,
                                    1548106000,
                                    1548106100,
                                    1548106200]})
    # 大抵の文字列は変換できるはず
    print(pd.to_datetime(df['time']))
    #0   2019-01-24 18:00:00.000000
    #1   2019-01-24 19:00:00.123400
    #2   2019-01-24 20:00:00.000000
    #3   2019-01-24 21:00:00.000000
    #4   2019-01-25 00:00:00.000000
    #Name: time, dtype: datetime64[ns]
    
    # 特殊な文字列の場合は format を指定する
    print(pd.to_datetime(df['other_format_time'], format='%m%d%H%M'))
    #0   1900-01-22 01:00:00
    #1   1900-01-22 02:00:00
    #2   1900-01-22 03:00:00
    #3   1900-01-22 04:00:00
    #4   1900-01-22 05:00:00
    #Name: other_format_time, dtype: datetime64[ns]
    
    # UnixTimeの場合も変換可能
    print(pd.to_datetime(df['unixtime'], unit='s'))
    #0   2019-01-21 21:23:20
    #1   2019-01-21 21:25:00
    #2   2019-01-21 21:26:40
    #3   2019-01-21 21:28:20
    #4   2019-01-21 21:30:00
    #Name: unixtime, dtype: datetime64[ns]
    
[/code]

詳細は以下を参考にしてください

<https://pandas.pydata.org/pandas-
docs/version/0.23/generated/pandas.to_datetime.html>


CC BY-SA 4.0
2019-01-24T11:25:46.910
52289
2019-01-24T11:25:46.910
24801
52284
answer