第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

合并與正則表達(dá)式模式匹配的數(shù)據(jù)幀列表 - pandas

合并與正則表達(dá)式模式匹配的數(shù)據(jù)幀列表 - pandas

皈依舞 2022-08-11 17:14:16
我希望將許多不同的數(shù)據(jù)框與正則表達(dá)式模式的名稱合并。(不是列名,我的意思是數(shù)據(jù)幀本身的名稱)。通過此頁面上接受的響應(yīng),我能夠通過以下方式獲得所需的輸出:reduce(lambda x, y: pd.merge(x, y, on = 'variable'), [df1, df2, df3])但是將它們?nèi)挎I入是相當(dāng)乏味的。我想要的數(shù)據(jù)幀都標(biāo)有前綴“m_”,所以我希望有一種簡單的方法可以使用正則表達(dá)式來匹配我使用“^m_”的所有數(shù)據(jù)框。為了提供更多的背景信息,我已經(jīng)在RStudio中發(fā)表了一篇關(guān)于這個(gè)問題的帖子。事實(shí)上,我已經(jīng)知道如何在R中做到這一點(diǎn),但問題是關(guān)于如何將所有代碼推入我自己的函數(shù)中(在這種情況下,我也想知道該怎么做)。因此,如果它以任何方式有所幫助,那么這與我正在嘗試做的事情完全相同:Reduce(function(...) merge(..., all = TRUE), mget(apropos("^m_")))如果可能的話,像這樣制作我自己的函數(shù)(但仍然用python來做這件事):multi.merge <- function(pattern){    Reduce(function(...) merge(..., all = TRUE), mget(apropos(pattern), envir=.GlobalEnv))}output <- multi.merge("^m_")但是,如果您不知道R中的含義,希望我想要的輸出仍然清晰。
查看完整描述

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()


查看完整回答
反對 回復(fù) 2022-08-11
  • 1 回答
  • 0 關(guān)注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號