1 回答

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊
最好根據(jù)“ID”或“companyID”將多個(gè)數(shù)據(jù)幀合并為一個(gè),然后執(zhí)行過濾。您可以通過“companyID”合并它們,如下所示。
final_df = None
for key, value in dictionary.items():
value = value.set_index(['ID', 'companyID'])
# add an extra level of column where the level is the key from dict
value.columns = pd.MultiIndex.from_product([[key], value.columns])
if not type(final_df) == pd.DataFrame:
final_df = value
else:
final_df = final_df.merge(value, left_index=True, right_index=True, how='outer')
Out:
contact geography
Anrede Titel firstname surname randomID ContinentID
ID companyID
0 3025 2705.0 Mrs. Sam Smith NaN NaN
1 3026 2706.0 Mr. Michael Smith NaN NaN
3060 NaN NaN NaN NaN 0.0 1.0
2 3027 2710.0 Mr. Christian Peterson NaN NaN
6 3060 NaN NaN NaN NaN 2.0 1.0
7 2710 NaN NaN NaN NaN 0.0 1.0
24 7530 NaN NaN NaN NaN 0.0 6.0
28 3759 NaN NaN NaN NaN 0.0 6.0
s很少,NaN因?yàn)槟诿總€(gè)數(shù)據(jù)框中都沒有匹配的索引。我希望您的實(shí)際數(shù)據(jù)更加連貫。一旦你有了這個(gè)“合并”數(shù)據(jù)框,你就可以過濾你喜歡的任何列。
解釋
您有不同的列“集”,它們在字典中表示為單獨(dú)的鍵值對。我假設(shè)您想將這些數(shù)據(jù)幀與“ID”和“companyID”合并為某種索引。這就是上面的代碼所實(shí)現(xiàn)的。它還添加了一個(gè)額外的列索引級別來表示列集來自哪個(gè)“鍵”。
添加回答
舉報(bào)