Pandas DataFrame Seriesの月末を検索する
2023-09-22 09:58:09
質問
最初にオブジェクトとして読み込んだDataFrame内の系列を、yyyy-mm-dd(ddは月の終わり)の形式で日付に変換する必要があります。
例として、オブジェクトとしてDate列を持つDataFrame dfを持っています。
... Date ...
... 200104 ...
... 200508 ...
これがすべて終わったときに欲しいのは、日付オブジェクトです。
... Date ...
... 2001-04-30 ...
... 2005-08-31 ...
df['Date'].item() が返すような。
datetime.date(2001, 04, 30)
以下のコードでほぼできましたが、日付がすべて月末でなく月初になってしまいます。アドバイスをお願いします。
df['Date'] = pd.to_datetime(df['Date'], format="%Y%m").dt.date
注:すでにPandasの広告pdと、datetimeをdtとしてインポートしています。
どのように解決するのですか?
あなたは
pandas.tseries.offsets.MonthEnd
:
from pandas.tseries.offsets import MonthEnd
df['Date'] = pd.to_datetime(df['Date'], format="%Y%m") + MonthEnd(1)
は
1
で
MonthEnd
は、月末である次の日付に一歩進むことを指定するだけです。(使用方法
0
を使うか、空白にしておくとうまくいくでしょう)。もし、次の月の最終日を指定したい場合は
MonthEnd(2)
などとします。 これはどの月でも使えるので、その月の日数などを知る必要はありません。 より詳細なオフセット情報は
のドキュメントを参照してください。
.
使用例と出力。
df = pd.DataFrame({'Date': [200104, 200508, 201002, 201602, 199912, 200611]})
df['EndOfMonth'] = pd.to_datetime(df['Date'], format="%Y%m") + MonthEnd(1)
Date EndOfMonth
0 200104 2001-04-30
1 200508 2005-08-31
2 201002 2010-02-28
3 201602 2016-02-29
4 199912 1999-12-31
5 200611 2006-11-30
関連
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] 一行ずつ追加してPandas Dataframeを作成する
-
[解決済み] 辞書のリストをpandasのDataFrameに変換する
-
[解決済み] Pandasシリーズ/DataFrame全体をプリティプリントする
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 月の最終日を知るには?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法