1
datetime64[ns]
の時刻部分だけを抽出して1900-01-01 00:32:59
という形式の列を抽出し、合計秒に変換するにはどうすればよいですか?パンダの文字列データ型の継続時間を日付の時間フォーマットに変換
1900-01-01 00:00:00
から正確に(32 * 60 + 59)秒であるこの例では、最終結果は1979
秒になります。
datetime64[ns]
の時刻部分だけを抽出して1900-01-01 00:32:59
という形式の列を抽出し、合計秒に変換するにはどうすればよいですか?パンダの文字列データ型の継続時間を日付の時間フォーマットに変換
1900-01-01 00:00:00
から正確に(32 * 60 + 59)秒であるこの例では、最終結果は1979
秒になります。
あなたはto_timedelta
+ strftime
+ total_seconds
+ astype
を使用することができます。
df = pd.DataFrame({"date": ["1900-01-01 00:32:59"]})
df['date'] = pd.to_datetime(df['date'])
print (df)
date
0 1900-01-01 00:32:59
df['total'] = pd.to_timedelta(df['date'].dt.strftime("%H:%M:%S"))
.dt.total_seconds().astype(int)
print (df)
date total
0 1900-01-01 00:32:59 1979
それともfloor
+ total_seconds
+ astype
:
df['total'] = (df['date'] - df['date'].dt.floor('D')).dt.total_seconds().astype(int)
print (df)
date total
0 1900-01-01 00:32:59 1979
それともnormalize
+ total_seconds
+ astype
df['total'] = (df['date'] - df['date'].dt.normalize()).dt.total_seconds().astype(int)
print (df)
date total
0 1900-01-01 00:32:59 1979
[Pandas; MM:SSで列を変換し、小数点以下を秒数で変換する](http://stackoverflow.com/questions/20472413/pandas-transform-column-with-mmss-decimals-into-number-of-seconds) – spies006