【问题标题】:How do I loop through a dictionary, and apply a function using key: value pairs as arguments如何遍历字典,并使用键应用函数:值对作为参数
【发布时间】:2022-11-25 09:54:45
【问题描述】:
Dictionary = {File1: "location1", File2: "location2", File3: "location3"}

def fancy_function1(location, file):        
  df = pd.read_csv(location)
  df["new_column"] = df[file]
return df 

需要帮助编写这个 for 循环或任何其他建议

for key in Dictionary:
   ##pass key value pairs into function
    df = fancy_function(key, value)
    return df

然后我想合并所有 3 个数据帧(从 fancy_function() 创建)或将每个数据帧分配给变量,例如df1、df2、df3 等

【问题讨论】:

    标签: python python-3.x pandas loops dictionary


    【解决方案1】:

    我不知道这是否有帮助。

    for key in Dictionary:
        value = Dictionary[key]
        df = fancy_function(key, value)
        return df
    

    对我来说这很奇怪,因为你在函数外部返回,如果你想创建多个数据框,我建议如下。

    dataframes = []
    for key in Dictionary:
        value = Dictionary[key]
        df = fancy_function(key, value)
        dataframes.append(df)
    

    append 方法附加到一个列表,所以你有一个包含所有数据框的列表,要小心,因为如果你有很多数据框或者有些数据框很大,这会消耗大量内存。 我希望这有帮助。

    【讨论】:

      【解决方案2】:
      for key in Dictionary:
      ##pass key value pairs into function
          if df in locals():
              df = fancy_function(key, value)
          else
              df=pd.concat([df, fancy_function(key, value)])
          return df
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-05
        • 2020-10-02
        • 2012-08-31
        • 2021-12-20
        • 1970-01-01
        相关资源
        最近更新 更多