@akazu

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

AM/PM表記(文字列)から24時間表記への変換(datetime)

Q&A

Closed

解決したいこと

現在,オライリージャパンのPythonデータサイエンスハンドブックを用いてPythonの勉強をしています.
https://data.seattle.gov/Transportation/Fremont-Bridge-Bicycle-Counter/65db-xm6k
上のリンクにあるCSVファイルのデータから,時系列データを扱い,シアトル市の自転車数を可視化するというものです.

下に示すようなDateFrameのインデクスであるDateを
11/01/2019 12:00:00 AMのようなAM/PM表記(文字列)から24時間表記への変換(datetime)したいです.
スクリーンショット 2022-02-15 15.13.10.png

実施したこと

datetimeに変換するために,以下のようなプログラムを実行しました.

data.index = pd.to_datetime(data.index) #dataはcsvを読み込んだものです

として,datetimeに変換すると,
スクリーンショット 2022-02-15 15.37.34.png
のようになりました.11/01/2019 12:00:00 AMが1970-01-01 00:00:00.000000000となります.

どのようにすれば,正しく変換できるかを教えていただきたいです.

0 likes

1Answer

data.index0, 1, 2, ..., データ数-1 の値を取るインデックス番号です。 pd.to_datetime(data.index) で変換しても日付にはなりません。

日付文字列は data['Date'] に入っています。以下のように変換してください。

data['Date'] = pd.to_datetime(data['Date'])

あるいは、 CSV を読み込むときに Date 列が index となるように指定してください。

>>> data = pd.read_csv('Fremont_Bridge_Bicycle_Counter.csv', index_col='Date')
>>> data.index[:3]
Index(['11/01/2019 12:00:00 AM', '11/01/2019 01:00:00 AM',
       '11/01/2019 02:00:00 AM'],
      dtype='object', name='Date')
0Like

Comments

  1. @akazu

    Questioner

    ご丁寧にありがとうございます.解決することができました.

Your answer might help someone💌