【问题标题】: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