1 回答

TA贡献1829条经验 获得超4个赞
这应该这样做:
def global_pd_dfs(pattern=None, return_values=False):
dct = globals()
if pattern is None:
return [dct[x] if return_values else x for x in dct.keys() if type(dct[x]) == pd.core.frame.DataFrame]
else:
pattern = re.compile(pattern)
return [dct[x] if return_values else x for x in dct.keys() if type(dct[x]) == pd.core.frame.DataFrame and pattern.match(x)]
def multi_merge(pattern=None):
return reduce(lambda x, y: pd.merge(x, y, on = 'variable'), global_pd_dfs(pattern=pattern, return_values = True))
如果没有给出模式,则列出全局环境中的所有 pandas dfs。并将尝试将全球环境中的所有大熊猫dfs合并。global_pd_dfs()multi_merge()
R可以被Python模仿,但是,最后一个是字典。ls()globals()
添加回答
举报