我有一个奇怪的熊猫问题。
我有一个主数据框:
a b c
0 22 44 55
1 22 45 22
2 44 23 56
3 45 22 33
然后我有了一个不同维度的数据框,其中包含一些重叠索引和列名
index col_name new_value
0 a 111
3 b 234
然后我要说的是,如果您在主数据框中找到索引和col_name的匹配项,然后替换该值。
所以输出将是
a b c
0 111 44 55
1 22 45 22
2 44 23 56
3 45 234 33
我找到了“ Combine_first”,但是除非我旋转第二个数据框(在这种情况下我无法做到),否则这是行不通的
答案 0 :(得分:5)
这是update
问题
df.update(updated.pivot(*updated.columns))
df
Out[479]:
a b c
0 111.0 44.0 55
1 22.0 45.0 22
2 44.0 23.0 56
3 45.0 234.0 33
或
df.values[updated['index'].values,df.columns.get_indexer(updated.col_name)]=updated.new_value.values
df
Out[495]:
a b c
0 111 44 55
1 22 45 22
2 44 23 56
3 45 234 33