

以下の DataFrame があります。

[code]

    　　　　install_t
    0                                   NaT
    1      2020-03-28 19:31:22.159174+09:00
    2                                   NaT
    3      2019-12-31 10:38:38.165566+09:00
    4      2020-06-14 15:29:41.511317+09:00
    Name: install_t, dtype: datetime64[ns, pytz.FixedOffset(540)]
    
[/code]

上記の install_t 列を `2019-12-31` という日付のみにしたいので、以下のコードを書いたのですが、エラーも出ず、結果に変化もありません。  
なぜでしょうか。宜しくお願いします。

[code]

    df['install_t'] = pd.to_datetime(df['install_t']) 
    df['install_t'] = df['install_t'].dt.round("D")
    df['install_t']
    
[/code]

またタイムゾーンを削除できないかと以下も試みましたが、エラーがでました。  
助けてください。

[code]

    df6['install_t'] = df6['install_t'].replace(tzinfo=None)
    
[/code]

[code]

    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
    <ipython-input-29-e26e2db5d810> in <module>
    ----> 1 df6['install_t'] = df6['install_t'].replace(tzinfo=None)
    
    TypeError: replace() got an unexpected keyword argument 'tzinfo'
    
[/code]


CC BY-SA 4.0
2020-06-25T13:51:08.137
67992
2021-07-09T12:02:20.303
2020-06-26T01:02:04.010
3060
38096
question
python python3 pandas
DataFrame からタイムゾーンを削除したいがうまくいかない


この記事が適用できると思われます。  
[How to remove timezone from a Timestamp column in a pandas
dataframe](https://stackoverflow.com/q/49198068/9014308)

> You can use `tz_localize` to change the time zone, a naive timestamp
> corresponds to time zone `None`:  
>  `tz_localize`を使用してタイムゾーンを変更できます。単純なタイムスタンプはタイムゾーン`None`に対応します：

>
[code]

>     testdata['time'].dt.tz_localize(None)
>  
[/code]

> Unless the column is an index you have to call method `dt` to access pandas
> datetime functions.  
>  列がインデックスでない限り、pandasの日時関数にアクセスするには、メソッド `dt`を呼び出す必要があります。

* * *

質問内容に適用すれば、以下になるでしょう。

[code]

    df['install_t'] = df['install_t'].dt.tz_localize(None)
    
[/code]


CC BY-SA 4.0
2020-06-25T14:44:24.420
67995
2020-06-25T14:44:24.420
26370
67992
answer