1 回答

TA貢獻1869條經驗 獲得超4個贊
使用concatwithDataFrame.set_index和參數keys將所有 DataFrame 連接在一起, flatten MultiIndex。
創建新列以DataFrame.count獲取NaN每行的非 s 值并按以下方式過濾boolean indexing:
dfs = [df1, df2, df3, df4]
comp = [x.set_index(['Circle','Division']) for x in dfs]
df = pd.concat(comp, axis=1, keys=(range(1, len(dfs)+ 1)))
df.columns = [f'{a}' for a, b in df.columns]
df['Repeat'] = df.count(axis=1)
df = df[df['Repeat'] > 1]
df = df.reset_index()
print (df)
Circle Division Power1 Power2 Power3 Power4 Repeat
0 AAAA AA 25.0 NaN 87.0 45.0 3
1 BBBB BB 5.0 66.0 NaN NaN 2
2 CCCC CC NaN 25.0 NaN 56.0 2
添加回答
舉報