【问题标题】:Double for loop in pandas where the index is time in days大熊猫中的双循环,其中索引是天数
【发布时间】:2021-01-04 22:06:14
【问题描述】:

我有一个关于使用双 for 循环的问题。我的想法是遍历时间和位置,假设我有 10 天和 10 个位置,我想存储每天每个位置的客户数量。我将客户数量存储在空白 df 中,索引为时间。但是,我在遍历 10 个位置时遇到了一些麻烦。以下是我使用的手动方法:

period = 10
location = 10
periods = np.arange(period)
locations = np.arange(location)
default_customers = 500
df = pd.DataFrame(index = periods, columns = 'customers1','customers2').fillna(0)
for i in locations:
    for j in periods:
        df['customers1'][j] = default_customers
        df['customers2'][j] = default_customers

是否可以循环访问这些位置,而不必为每个位置创建一列?谢谢!

编辑: 预期的数据框将是这样的,这样我就可以每天跟踪每个位置的客户数量和属性。我认为如果我只制作 10 列就可以了,但必须有一种方法来简化它。

day|sales at loc1|sales at loc2|Avg sale price loc1|Avg sale price loc2
...|...          | ...         |...                |...    

【问题讨论】:

  • 您能否给出一个示例数据框,说明您期望/希望输出的样子?
  • 显示您预期的数据框。做出回答会很有帮助
  • 谢谢,我编辑它以添加我输出的df。
  • 您想要的结果与您发布的代码有什么关系?没有销售或平均或客户。您似乎用 500 填充数据框的每个单元格。

标签: python pandas dataframe loops for-loop


【解决方案1】:

以防万一有人遇到同样的问题。 我最终使用了一个函数来循环这些日子,然后为每个调用这个函数的位置使用了一个循环。可能不是最好的解决方案,但可以完成工作。例如:

for i in locations:
    run function(loop for j in periods)

【讨论】:

    猜你喜欢
    • 2019-10-05
    • 2021-12-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多