前提
カラム名によって違いが生じる原因を調査しています。
顧客情報(customer_id)と売上日(sales_ymd)を持つ df_receipt というDataframeがあります。
sales_ymd が複数ある状況で、customer_id 毎に最新と最古の sales_ymd が異なるものを抽出したく考えています。
下記のように書いたものは正常に動作します。
df_tmp = df_receipt.groupby('customer_id').agg({'sales_ymd':['max','min']}).reset_index() df_tmp.columns = ['customer_id', 'sales_max', 'sales_min'] df_tmp.query('sales_max != sales_min')
一方で、カラム名をmax、minとした時、それぞれが同じものも返されてしまいます。(query部分が想定通り動いていません。)
df_tmp = df_receipt.groupby('customer_id').agg({'sales_ymd':['max','min']}).reset_index() df_tmp.columns = ['customer_id', 'max', 'min'] df_tmp.query('max != min')
カラム名が異なるだけなので予約後が関係しているかと思われるのですが、内部でどのように処理が行われているのか調べてもわからず、ご教示いただきたく考えております。
初歩的で恐縮ですが何卒よろしくお願いいたします。
