You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Pandas DataFrame中按重复日期统计列内容及对PEMAKAIAN列按日期求和的可行性与实现方法

当然可以实现啦!这在Pandas里是非常常见的分组聚合操作,完全能满足你的需求。我给你用示例代码一步步演示具体怎么做:

实现步骤与示例代码

1. 先准备数据(模拟你的场景)

假设你的DataFrame包含日期列(比如叫TANGGAL)、需要统计内容的列(比如ITEM),以及要求和的PEMAKAIAN列,先构造一个模拟数据:

import pandas as pd

# 模拟你的原始数据
data = {
    'TANGGAL': ['2024-05-01', '2024-05-01', '2024-05-02', '2024-05-02', '2024-05-02'],
    'ITEM': ['Buku', 'Pensil', 'Buku', 'Penggaris', 'Pensil'],
    'PEMAKAIAN': [5, 10, 7, 3, 8]
}
df = pd.DataFrame(data)

2. (可选)确保日期列是datetime类型

如果你的日期列目前是字符串格式,建议先转换成datetime类型,避免分组时出现格式问题:

df['TANGGAL'] = pd.to_datetime(df['TANGGAL'])

3. 分组聚合:按日期统计列内容 + 求和PEMAKAIAN

用groupby配合agg方法,一次性完成两个需求:

# 按日期分组,把同日期的ITEM用逗号拼接,同时对PEMAKAIAN求和
result_df = df.groupby('TANGGAL').agg(
    # 统计同日期的ITEM内容,用逗号分隔
    DAFTAR_ITEM=('ITEM', lambda x: ', '.join(x)),
    # 对同日期的PEMAKAIAN求和
    TOTAL_PEMAKAIAN=('PEMAKAIAN', 'sum')
).reset_index()

# 查看结果
print(result_df)

运行结果示例

输出会是这样的格式:

TANGGAL          DAFTAR_ITEM  TOTAL_PEMAKAIAN
0  2024-05-01        Buku, Pensil               15
1  2024-05-02  Buku, Penggaris, Pensil           18

额外调整说明

如果你的需求有变化,比如想对ITEM去重后再统计,只需要把lambda函数改成:

DAFTAR_ITEM=('ITEM', lambda x: ', '.join(set(x)))

或者如果需要保留ITEM的重复但用换行分隔,也可以把分隔符换成'\n',灵活调整即可。

内容的提问来源于stack exchange,提问作者mkholilullah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 20:52:28