Python 合并数据帧时出现关键错误

Python 合并数据帧时出现关键错误,python,dataframe,join,self-join,Python,Dataframe,Join,Self Join,我有一张有客户购买历史记录的表。需要填充一个新列,指示历史数据中活动的第一天和最后一天 输入数据格式:索引(['date\u first'、'unique\u id'、'event'、'price'、'product\u id'、'category'、'month'、'buy'、'buy\u Before'],dtype='object') 我需要日期-第一个和最后一个活动日作为新列添加到原始数据框。我正在创建中间数据帧,以获得第一个和最后一个活动日。请让我知道,如果它可以在一个简单的或一步完成

我有一张有客户购买历史记录的表。需要填充一个新列,指示历史数据中活动的第一天和最后一天

输入数据格式:
索引(['date\u first'、'unique\u id'、'event'、'price'、'product\u id'、'category'、'month'、'buy'、'buy\u Before'],dtype='object')

我需要日期-第一个和最后一个活动日作为新列添加到原始数据框。我正在创建中间数据帧,以获得第一个和最后一个活动日。请让我知道,如果它可以在一个简单的或一步完成。谢谢你的帮助。谢谢

错误日志:(如下)

文件“”,第1行,在 df_result=df3.merge(df3,df_first,on='unique_id')

文件“C:\ProgramData\Anaconda3\lib\site packages\pandas\core\frame.py”,第6868行,合并 复制=复制,指标=指标,验证=验证)

文件“C:\ProgramData\Anaconda3\lib\site packages\pandas\core\reforme\merge.py”,第48行,合并中 返回操作获取结果()

文件“C:\ProgramData\Anaconda3\lib\site packages\pandas\core\reformate\merge.py”,第546行,在get\U结果中 加入索引,左索引器,右索引器=self.\u获取加入信息()

文件“C:\ProgramData\Anaconda3\lib\site packages\pandas\core\reforme\merge.py”,第756行,在获取加入信息中 右索引器)=self.\u获取\u加入\u索引器()

文件“C:\ProgramData\Anaconda3\lib\site packages\pandas\core\reforme\merge.py”,第735行,在获取加入索引器中 how=自我,how)

文件“C:\ProgramData\Anaconda3\lib\site packages\pandas\core\reforme\merge.py”,第1142行,在获取、加入索引器中 如果how==“left”:

文件“C:\ProgramData\Anaconda3\lib\site packages\pandas\core\generic.py”,第1478行,在非零 .format(self.名称


ValueError:数据帧的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。

请仔细阅读
pd.merge()
所需的参数。我仍在绞尽脑汁尝试合并,但我仍然坚持合并。两个数据帧具有相同的字段。正在尝试将第二个数据帧上的第一个字段添加到第一个数据帧中具有相同唯一id的所有记录中。
df_first=df.sort_values(by=['date']).drop_duplicates(subset='unique_id', keep='first')    
df_last=df.sort_values(by=['date']).drop_duplicates(subset='unique_id', keep='last')
#renaming date column as first_Active_Day and last_active_Day to avoid #confusion in merge
df_first.columns=['first_active_day', 'unique_id', 'event', 'price', 'product_id', 'category','month', 'buy', 'Bought_Before']

df_first.columns=['last_active_day', 'unique_id', 'event', 'price', 'product_id', 'category','month', 'buy', 'Bought_Before']

df_result = df.merge(df,df_first['first_active_day'],df_last['last_active_day'], on='unique_id')