我想在两个不同的dfs中的行索引之间进行匹配,如果索引相同,我想转到第二个df,遍历它的列,如果列的值是'V',转到第一个df,并将df的名称添加到列的值。
所以例如:
MAIN DF:
names col1 col2 col3 total
bbb V V X 2
ccc V X X 1
DF2:
names col1 col2 col3 total
bbb V V X 2
zzz X X V 1
所以在 MAIN DF 之后:
names col1 col2 col3 total totla_col1 total_col2 total_col3
bbb V V X 2 DF2 DF2 NULL
ccc V X X 1 NULL NULL NULL
答案 0 :(得分:1)
您可以先names
列创建dict
列的索引,cols = ['col1','col2','col3']
DF2 = DF2.set_index('names')[cols].replace({'V':'DF2', 'X':np.nan}).add_prefix('total_')
print (DF2)
total_col1 total_col2 total_col3
names
bbb DF2 DF2 NaN
zzz NaN NaN DF2
df = df.join(DF2, on='names')
print (df)
names col1 col2 col3 total total_col1 total_col2 total_col3
0 bbb V V X 2 DF2 DF2 NaN
1 ccc V X X 1 NaN NaN NaN
和set_index
创建replace
值。
然后add_prefix
原创:
var snackbarContainer = document.querySelector('#toast');