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'{b}{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
添加回答
举报
