【问题标题】:Iterating over rows to separate rows with different values迭代行以分隔具有不同值的行
【发布时间】:2020-05-14 16:20:04
【问题描述】:

我正在尝试编写一个匿名且动态地迭代数据帧的函数。 该数据框由每天更新的 CSV 文件生成,它是所用材料的日志。有些项目将再次使用,但有些项目将是新的,如果稍后添加另一种类型的材料,我不想编写静态代码。 df 示例:

Date      Type Amount_Used
5/14/20     A  15
5/14/20     A  16
5/14/20     B  15
5/14/20     C  15
5/14/20     A  16
5/14/20     B  16

我这样做是为了创建一份日终报告。所以我需要考虑所有使用过的物品以及使用了多少。 项目每天都在变化,我可以在路上添加不同的项目。

【问题讨论】:

  • 今天的日期与所有历史日期的比较是什么?或者你有每天的 csvs 吗?
  • 它是一个大型 CSV 文件,每次记录项目时都会附加到该文件。在每天结束时,我必须知道每个项目使用了多少以及每个项目的使用量。
  • 那么下面的答案将解决您的问题:)您可以按最大日期对其进行过滤以获取最新值。

标签: python pandas dataframe iteration


【解决方案1】:

您可以使用 df.groupby 并找到您想要的详细信息:

In [389]: df.groupby(['Date','Type'], as_index=False)['Amount_Used'].sum()                                                                                                                                  
Out[389]: 
      Date Type  Amount_Used
0  5/14/20    A           47
1  5/14/20    B           31
2  5/14/20    C           15

df 是您的数据框。

这表明:

对于date: 5/14/20

使用了3 项目(A,B,C)。 Amount_Used 在特定日期的每个项目。

【讨论】:

    猜你喜欢
    • 2015-10-25
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-09-12
    • 1970-01-01
    • 2014-01-15
    • 2022-01-02
    • 1970-01-01
    相关资源
    最近更新 更多