1
時間と分の時間列(例えば1時間8分)を持つPandas DataFrameがあります。一部のセルはほんの数分(例えば47分)です。 私はこの形式から整数分の整数値に変換しようとしています(例えば、1時間8分は68になります)。Pythonの時間と分から合計時間への変換
私はそれをハードコーディングしようとしましたが、これは私が比較的新しいPythonのように問題を抱えています。 これを手助けできるライブラリはありますか?
In [10]: df_times = pd.DataFrame(times)
df_times.columns = ["times"]
df_times
Out[10]: times
0 31 mins
1 1 hour 28 mins
2 1 hour 1 min
3 1 min
... ...
22849 ERROR
22850 7 mins
In [11]: (pd.to_timedelta(df_times["times"].str.replace('mins','min')).dt.total_seconds()//60).astype(int)
ValueError: unit abbreviation w/o a number
そして、私はエラーを使用= "強制":
In [12]: (pd.to_timedelta(df_times["times"].str.replace('mins','min'), errors="coerce").dt.total_seconds()//60).astype(int)
ValueError: Cannot convert NA to integer
を、私はすべてにこれを適用するforループを使用する必要があります?申し訳ありませんが、私はコーディングに新しいです。また、 'dt'と 'total_seconds'はどこから来たのですか?ありがとう! – Heather
@Heather、いいえ、ループは必要ありません。 'pd.to_timedelta()'は、シリーズ全体に適用されるベクトル化された関数です - 私の答えの例を見てください。 '.dt.total_seconds()'ドキュメントへのリンクを追加しました... – MaxU
説明をありがとう。 ValueError:単位の省略形を数値にしているようです。 – Heather