PythonでPandasを利用してCSVファイルを読み込んでいます。
このとき、CSVの中のTimeというフィールドは以下のような書式で書かれています。
100d 20h 30m
15d 2h 5m
20d 12h
50m
11h 22d
30d 11h 3m
dは日数、hは時間、mは分を表していて、それぞれは半角スペースで区切られています。
import pandas as pd
import glob
fns=glob.glob('./*.csv')
fns.sort()
for fn in fns:
df=pd.read_csv(fn)
days=df['Time in trade']
print(type(days[1]))
以上のコードで確認すると、このフィールドの値はstrとして認識されているようです。
これを秒数に変換したいのですが、どのように処理すれば良いのでしょうか?
特に、フィールド内を半角スペースで再分割する方法と、d,h,mによって処理を分ける方法が良く分かりません。
また、現在はSeriesになっていますが、Seriesに対して、連続的に処理を掛ける(あるいはブロックとして一括で処理できればもっと良いですが)方法も良く分からないです。
もし、日数D、時間H、分Mの値が個別に拾えれば、60*(M+60*(H+24*D))みたいなリターンをSeriesのそれぞれの行の値に対して返したいです。
どういう方法で実装できるか、アドバイスを戴けますとありがたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/09 02:19
2022/01/09 02:24 編集
2022/01/10 00:41