gpt4 book ai didi

python - 按一列对数据进行分组,并从其他两列中选择第一次出现的情况

转载 作者:行者123 更新时间:2023-11-30 23:02:38 25 4
gpt4 key购买 nike

我需要使用customer进行.groupby(),然后为客户首次购买的日期添加一列,并添加另一列对应的购买金额。

这是我的代码。我做错了第一部分,不知道如何做第二部分。我尝试过 .loc.idxmin ....

mydata = [{'amount': 3200, 'close_date':'2013-03-31', 'customer': 'Customer 1',},
{'amount': 1430, 'close_date':'2013-11-30', 'customer': 'Customer 1',},
{'amount': 4320, 'close_date':'2014-03-31', 'customer': 'Customer 2',},
{'amount': 2340, 'close_date':'2015-05-18', 'customer': 'Customer 2',},
{'amount': 4320, 'close_date':'2015-06-29', 'customer': 'Customer 2',},]

df = pd.DataFrame(mydata)
df.close_date = pd.to_datetime(df.close_date)
df['first_date'] = df.groupby('customer')['close_date'].min().apply(lambda x: x.strftime('%Y-%m'))

最佳答案

如果您按 close_date 对数据进行排序,则可以执行以下操作:

df.sort_values('close_date').groupby(['customer'])['close_date', 'amount'].first()

close_date amount
customer
Customer 1 2013-03-31 3200
Customer 2 2014-03-31 4320

.sort_values() 已在 0.17 中添加,原为 sort() (see docs) .

关于python - 按一列对数据进行分组,并从其他两列中选择第一次出现的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34404712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com