1 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
這應(yīng)該這樣做:
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))
如果沒有給出模式,則列出全局環(huán)境中的所有 pandas dfs。并將嘗試將全球環(huán)境中的所有大熊貓dfs合并。global_pd_dfs()multi_merge()
R可以被Python模仿,但是,最后一個(gè)是字典。ls()globals()
添加回答
舉報(bào)