日付に2 pandasデータフレームを一緒にマージする必要がありますが、現在異なる日付タイプがあります。1はタイムスタンプ(Excelからインポート)、もう1つは_datetime.date
_です。
何かアドバイス?
私はpd.to_datetime().date
を試しましたが、これは単一のアイテム(たとえば_df.ix[0,0]
_)でのみ機能し、シリーズ全体(たとえば_df['mydates']
_)またはデータフレームに適用できません。
同僚から助けをもらいました。
これは上記の問題を解決するようです
pd.to_datetime(df['mydates']).apply(lambda x: x.date())
別の質問はこれを指しているduとしてマークされていましたが、この答えは含まれていませんでしたが、これは最も簡単なようです(この質問が投稿/回答されたとき、この方法はまだ存在していなかったのでしょう):
pandas docは pandas.Timestamp.to_pydatetime
「タイムスタンプオブジェクトをネイティブPython datetimeオブジェクトに変換)」メソッド。
同様の問題に遭遇したとき、次のことが最も効果的であることがわかりました。たとえば、df
列に一連のtimestmapsを含むデータフレームts
を使用します。
_df.ts.apply(lambda x: pd.datetime.fromtimestamp(x).date())
_
これにより変換が行われます。日付時刻の.date()
接尾辞は省略できます。次に、データフレームの列を変更します。そのようです...
_df.loc[:, 'ts'] = df.ts.apply(lambda x: pd.datetime.fromtimestamp(x).date())
_
datetime.date
オブジェクトが必要な場合は、Timestamp
の.date
属性を使用してオブジェクトを取得します。
pd.to_datetime(df['mydates']).date