質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Pythonista

Pythonistaは、iOS上でPythonプログラミングができる開発アプリです。さらに、Pythonの関数・変数などを自動で補完する便利なコードエディタや、PythonスクリプトをiOS上で多様な形で機能させる各種機能も内包しています。

Q&A

0回答

379閲覧

2つのデータセットを比較し、条件一致するデータ抽出

Cherry

総合スコア4

Pythonista

Pythonistaは、iOS上でPythonプログラミングができる開発アプリです。さらに、Pythonの関数・変数などを自動で補完する便利なコードエディタや、PythonスクリプトをiOS上で多様な形で機能させる各種機能も内包しています。

0グッド

0クリップ

投稿2023/01/12 11:58

編集2023/01/12 13:56

前提

Pythonを用いて、データ処理を行っています。
自分で方法を思い浮かばず、問題提起だけになっていることは承知の上で、助けていただきたいです。

実現したいこと

同じカラムを持った、2つの異なるデータセットを用いて複数条件に合致するものを抽出して、片方のデータセットに新しく列を追加したいです。

購入データ(df1i)
顧客番号 商品カテゴリ 日付  時刻
111  AAA     2021-2-13 10:20:45
112  BBB     2021-4-15 16:36:22
113  AAA     2021-8-09 13:12:56
111  CCC     2021-6-10 11:09:35
111  BBB     2021-5-08 09:20:23
113  AAA     2021-1-28 10:53:12

返品データ(df2i)
顧客番号 商品カテゴリ 日付  時刻
111  AAA     2021-02-13 09:43:12
112  CCC     2021-10-21 11:21:22
113  AAA     2021-01-28 10:31:56
111  CCC     2021-06-10 10:48:43
112  BBB     2021-07-18 20:08:17
111  BBB     2021-06-28 16:27:36

今作成できているデータ(df)<-同日に同じカテゴリーのものを同じ人が購入かつ返品しているデータ抽出
顧客番号 商品カテゴリ 日付  時刻
111  AAA     2021-02-13 09:43:12
113  AAA     2021-01-28 10:31:56
111  CCC     2021-06-10 10:48:43

出したいデータフレーム(df2) <-返品データに1列追加したい
顧客番号 商品カテゴリ 日付  時刻 返品後同日に購入をした
111  AAA     2021-02-13 09:43:12 1
112  CCC     2021-10-21 11:21:22 0
113  AAA     2021-01-28 10:31:56 1
111  CCC     2021-06-10 10:48:43 1
112  BBB     2021-07-18 20:08:17 0
111  BBB     2021-06-28 16:27:36 0

df1とdf2において、顧客番号と商品カテゴリ日付が一致するデータを抽出し、その後返品時刻の方が購入時刻より早いデータを新たな列に追加したいです。

発生している問題・エラーメッセージ

以下に示したソースコードを実行することで、顧客番号と商品カテゴリ日付が一致するデータを抽出するところまではできました。(df)
しかし、ここからdf1i,df2iそれぞれのデータフレームの時刻を比較して、dfに新たな列を作成する方法がどうしてもわかりません。

エラーメッセージ

該当のソースコード

df1i = df1.copy().set_index(['mbr_no', 'cate_nm','sal_date']) df2i = df2.copy().set_index(['mbr_no', 'cate_nm','sal_date']) df = df2i[df2i.index.isin(df1i.index.values)]

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問