我已将 Excel 工作表导入 Pandas 的数据框中。空白值被替换为“NA”。我想要做的是,对于每个行值,根据字典或数据框的索引替换它们。
df1 = pd.DataFrame(
{'c1':['a','a','b','b'], 'c2':['1','2','1','3'], 'c3':['2','NA','3','NA']},index=['first','second','third','last'])
>>> df1
c1 c2 c3
first a 1 2
second a 2 NA
third b 1 3
last b 3 NA
我想根据另一个数据框(或字典)的索引替换每一行中的值。
df2=pd.DataFrame(
{'val':['v1','v2','v3']},index=['1','2','3'])
>>> df2
val
1 v1
2 v2
3 v3
这样输出就变成了
>>> out
c1 c2 c3
first a v1 v2
second a v2 NA
third b v1 v3
last b v3 NA
您将如何通过 Pandas 和/或 Python 来做到这一点?一种方法是逐行搜索,但也许有更简单的方法?
编辑:重要的是,在我的真实案例中,性能成为一个问题,因为我正在处理大小为 4653 行 × 1984 列的“df1”。
提前致谢
最佳答案
关于python - 在 Pandas/Python 中使用可变大小的行更新数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41742571/