问候,
抱歉,如果出现此问题与其他问题重复。但是我可以找到一个能正确解决我的问题的答案。
我将一个称为“数据”的数据帧分为多个子集,这些子集存储在名为“ dfs”的数据帧字典中,如下所示:
# Partition DF
dfs = {}
chunk = 5
for n in range((data.shape[0] // chunk + 1)):
df_temp = data.iloc[n*chunk:(n+1)*chunk]
df_temp = df_temp.reset_index(drop=True)
dfs[n] = df_temp
现在,我想将预定义的帮助函数“ fun_c”应用于每个数据帧(存储在名为“ dfs”的字典对象中)。
我一次将函数应用于dfs是否正确(如下)?
result = fun_c(dfs)
如果没有,正确的方法是什么?
最佳答案
这取决于您要寻找的输出:
如果要在输出中使用字典,则应将函数应用于每个字典项
result = dict({key: fun_c(val) for key, val in dfs.items()})
如果要在输出中列出数据框/值,则将函数应用于每个dict值
result = [fun_c(val) for val in dfs.items()]
但是这种样式也不是错误的,您也可以在helper函数内部进行迭代:
def fun_c(dfs):
result = None
# either
for key, val in dfs.items():
pass
# or
for val in dfs.values():
pass
return result
让我知道是否有帮助!
关于python - Python:将函数应用于数据框的多个子集(存储在字典中),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60134460/