224 文字
1 分
pandas.to_datetimeで異なる日時形式を扱う際に発生するエラーについて
https://dreaife-team.atlassian.net/browse/DREAITE-39
pandas のフォーマットエラーのデータクリーニングを見ていると、初心者向けサイト が提供したコードが、私の現在のバージョンでは動作しないことに気づいた。
エラーをネットで探しても、ほとんどが errors 引数を修正することに関するものだった。
最後にエラーメッセージを再度確認すると、format を mixed に変更すれば、データ形式が混在していることを pandas に伝えられる、ということになる(汗)。おそらく Python 3 のバージョンが新しすぎる問題だと思われる。
エラーコード:
import pandas as pd
# 第三个日期格式错误data = { "Date": ['2020/12/01', '2020/12/02' , '20201226'], "duration": [50, 40, 45]}
df = pd.DataFrame(data, index = ["day1", "day2", "day3"])
df['Date'] = pd.to_datetime(df['Date'])
print(df.to_string())エラーメッセージ:
ValueError: time data "20201226" doesn't match format "%Y/%m/%d", at position 2. You might want to try: - passing `format` if your strings have a consistent format; - passing `format='ISO8601'` if your strings are all ISO8601 but not necessarily in exactly the same format; - passing `format='mixed'`, and the format will be inferred for each element individually. You might want to use `dayfirst` alongside this.修正コード:
import pandas as pd
# 第三个日期格式错误data = { "Date": ['2020/12/01', '2020/12/02' , '20201226'], "duration": [50, 40, 45]}df = pd.DataFrame(data, index = ["day1", "day2", "day3"])
df['Date'] = pd.to_datetime(df['Date'], format='mixed')# df['Date'] = pd.to_datetime(df['Date'],format="%Y/%m/%d",errors='ignore')
print(df.to_string()) 共有
この記事が役に立ったときは、ぜひ他の人に共有してください!
pandas.to_datetimeで異なる日時形式を扱う際に発生するエラーについて
https://dreaife.tokyo/jp/posts/pandas-datetime-fix/ 一部の情報は古い可能性があります
関連した投稿 スマート
1
Pandas基礎使用
cs-base PandasはPythonベースのオープンソースデータ分析ライブラリで、構造化データの処理に適したDataFrameとSeriesという2つの主要データ構造を提供します。データのクリーニング、変換、分析、可視化をサポートします。Pandasをインストールすると、簡単なコードでSeriesやDataFrameを作成・操作でき、基本操作、データフィルタリング、属性取得などを行えます。さらに、CSVやJSONファイルの読み込みと処理、欠損値や重複データの処理といったデータクレンジング機能も備えています。
2
Alibaba CloudでDocker+code-serverを設定してオンラインコンパイラを構築する
cs-base Dockerとcode-serverをインストールしてオンラインコンパイラ環境を構築する手順です。Dockerの導入、Alibaba Cloudミラーの設定、Nginxの起動、code-serverの導入と設定、C/C++のビルド環境構築を行い、最後にテストコードの実行に成功しました。
3
Javaスレッドプールの使い方
cs-base OOMリスクを避けるためにThreadPoolExecutorでスレッドプールを明示的に作成し、スレッドプール状態を監視すること、また業務ごとに異なるスレッドプールを使うことが推奨されます。パラメータは適切に設定し、重複作成や長時間タスクを避け、障害調査しやすいようにスレッドプール名を明確にする必要があります。スレッドプールとThreadLocalの併用による問題にも注意し、コンテキスト伝播にはTransmittableThreadLocalの利用が推奨されます。
4
実験9 暗号化・デジタル署名・証明書
cs-base 本実験は、共通鍵暗号、公開鍵暗号、ハッシュ関数、デジタル署名、デジタル証明書の概念と応用を理解することを目的としています。OpenSSLを用いて、暗号化/復号、鍵ペア生成、デジタル署名、自己署名証明書の作成などを行います。実験中に発生した問題を解決することで、プログラミング能力とLinuxコマンドへの理解を高めました。
5
Java JMMメモリモデル
cs-base Javaメモリモデル(JMM)は、マルチスレッド環境における共有変数の可視性を定義し、CPUキャッシュモデルや命令の並べ替えに関わる概念を扱います。JMMはスレッドと主記憶の関係を規定することで、共有変数の可視性と一貫性を確保し、マルチスレッドプログラミングの問題を解決します。重要な概念にはhappens-before原則、原子性、可視性、順序性があり、並行環境での正しいプログラム実行を保証します。





