質問: ![画像の説明をここに入力](https://i.stack.imgur.com/KhOPk.png) このようなdataframe型のデータがあります。 このデータから日付と時刻のデータをyyyy-mm-dd H:M:S型の一つのデータとしてまとめたいですが、 時刻のデータが全部同じ6桁でしたら、strftimeを使いhh:mm:ssとして分けられたかもしれませんが、 元のデータが0秒から始まる桁数が一致しないデータになっておりまして ``` df['hh']=np.floor(df['時刻']/10000) df['mm']=np.floor((df['時刻']-df['hh']*10000)/100) df['ss']=df['時刻']-df['hh']*10000-df['mm']*100 df['日付']=pd.to_datetime(df['日付'],format='%Y%m%d').dt.strftime("%Y-%m-%d") ``` 上記のように求めました。 その次にhh、mm、ssを一つのデータとしてまとめ日付データの後ろにくっつけたいですが どうすればいいでしょうか? どうぞよろしくお願いいたします。
回答: `zfill`による前ゼロ埋めで全部同じ6桁にして、日付データの後ろにくっつけることができます。 ``` import pandas as pd df = pd.DataFrame({ '日付': '2018-04-14', '時刻': [0, 100, 235859] }) df['日付時刻'] = pd.to_datetime(df['日付'] + df['時刻'].astype(str).str.zfill(6), format='%Y-%m-%d%H%M%S') print(df['日付時刻']) """ 0 2018-04-14 00:00:00 1 2018-04-14 00:01:00 2 2018-04-14 23:58:59 Name: 日付時刻, dtype: datetime64[ns] """ ```