【问题标题】:How to add data grouped week by week to a database?如何将每周分组的数据添加到数据库中?
【发布时间】:2020-01-07 11:23:18
【问题描述】:

我正在尝试编写一个程序来处理我个人预算的一小部分。我需要将数据添加到处理方式有点像这样的数据库:

Week of 1/1/19 -> [[1/1/19, Walmart, 13.43], [1/2/19, Walgreens, 10.54]]
Week of 1/7/19 -> [[1/7/19, Taco Bell, 24.12]]
...

基本上在新的一周之后,将创建一个新的“Week of”条目,其中包含子条目。我被困在如何创建“周”条目以及如何在该周内添加条目。

实现这一目标的最佳方法是什么?

【问题讨论】:

    标签: python python-3.x sqlite orm sqlalchemy


    【解决方案1】:

    我会将数据保存为平面数据库格式,仅在需要时按周汇总或分组。这样,添加或删除单个交易很容易。

    使用 Pandas,您可以执行以下操作:

    import pandas as pd
    
    data = pd.DataFrame([['1/1/19', 'Walmart', 13.43], ['1/2/19', 'Walgreens', 10.54], ['1/7/19', 'Taco Bell', 24.12]], columns=['Date', 'Payee', 'Value'])
    
    data['Date'] = pd.to_datetime(data['Date']
    data['Week'] = data['Date'].dt.weekofyear
    
    data
    #      Date      Payee  Value  Week
    # 0  1/1/19    Walmart  13.43     1
    # 1  1/2/19  Walgreens  10.54     1
    # 2  1/7/19  Taco Bell  24.12     2
    
    data.groupby(by='Week').sum()
    #       Value
    # Week       
    # 1     23.97
    # 2     24.12
    

    【讨论】:

    • 这是天才。当这更简单时,我不知道为什么我选择使用 SQLAlchemy。不过我确实有一个问题:假设我有一个固定的每周支出金额,我将如何“设置”这个默认限制并根据每个条目的花费从限制中减去?
    • 你有什么建议? @closetCoder(忘了提你的名字)
    猜你喜欢
    • 1970-01-01
    • 2016-07-04
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    相关资源
    最近更新 更多