gpt4 book ai didi

pandas - 删除特定列中具有相同(和相邻)条目的 Pandas Dataframe 中的行

转载 作者:行者123 更新时间:2023-12-01 10:17:50 26 4
gpt4 key购买 nike

我有一个数据框,其中“项目”列中有一些重复项。

enter image description here

我想删除有重复(相邻)的行但保留最后一行,即去掉红色但保留绿色

enter image description here

然后我想创建一个新列,假设苹果是一个开始,下一行是从这个开始的时间增量。即

enter image description here

最佳答案

IIUC,尝试:

df_out = df.assign(Item_cnt=(df['Item'] != df['Item'].shift()).cumsum())\
.drop_duplicates(['Item','Item_cnt'], keep='last')

df_out['delta T'] = df_out['datetime'] - df_out.groupby((df_out['Item'] == 'apples').cumsum())['datetime'].transform('first')

输出:

      Item  datetime  Item_cnt  delta T
2 apples 1.2 1 0.0
3 oranges 2.3 2 1.1
4 apples 2.5 3 0.0
5 bananas 2.7 4 0.2

详细信息:

使用 cumsum 创建一个分组并检查下一行是否不同,然后使用 drop_duplicates 保留该组中的最后一条记录。

关于pandas - 删除特定列中具有相同(和相邻)条目的 Pandas Dataframe 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59397466/

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