解決策。ValueError: time data 'Jun 15' does not match format '%m %d' (match)。pandas。
エラー
ValueError: time data 'Jun 15' does not match format '%m %d' (match)
エラー詳細
Traceback (most recent call last): File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\tools\datetimes.py", line 509, in _to_datetime_with_format values, tz = conversion.datetime_to_datetime64(arg) File "pandas\_libs\tslibs\conversion.pyx", line 359, in pandas._libs.tslibs.conversion.datetime_to_datetime64 TypeError: Unrecognized value type: <class 'str'> During handling of the above exception, another exception occurred: Traceback (most recent call last): File "_pandas_datetime4.py", line 7, in <module> df["Date"] = pd.to_datetime(df["Month"]+" "+df["Day"].astype(str), format="%m %d") File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\tools\datetimes.py", line 887, in to_datetime values = convert_listlike(arg._values, format) File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\tools\datetimes.py", line 394, in _convert_listlike_datetimes arg, orig_arg, name, tz, format, exact, errors, infer_datetime_format File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\tools\datetimes.py", line 513, in _to_datetime_with_format raise err File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\tools\datetimes.py", line 501, in _to_datetime_with_format arg, name, tz, fmt, exact, errors, infer_datetime_format File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\tools\datetimes.py", line 436, in _array_strptime_with_fallback result, timezones = array_strptime(arg, fmt, exact=exact, errors=errors) File "pandas\_libs\tslibs\strptime.pyx", line 150, in pandas._libs.tslibs.strptime.array_strptime ValueError: time data 'Jun 15' does not match format '%m %d' (match)
環境
windows10
python3.7
pandas1.3.5
エラーが発生するコード
import pandas as pd df = pd.DataFrame({"Month":["Jun"],"Day":[15]}) ##df["Date"] = pd.to_datetime(df["D"]) df["Date"] = pd.to_datetime(df["Month"]+" "+df["Day"].astype(str), format="%m %d") print(df["Date"])
解決策
mじゃなくてbです
フォーマット指定子は、ちゃんとしてないとダメみたい。
df["Date"] = pd.to_datetime(df["Month"]+" "+df["Day"].astype(str), format="%b %d")
参考にすべきサイト
引用↓
コメント
特にありません。