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()
添加回答
舉報