python - 如何在具有两个 DataFrame 的 Pandas 中使用替换?

标签 python pandas replace

我正在尝试用另一个 df 的值替换 df 上的值

第一个数据框:

   col1  col2  col3  col4  col5 type
0   NaN     4     7  14.0     0    B
1   3.0     2     6  11.0     5    B
2   4.0     4     0  22.0     7    C
3   5.0     6    11   8.0     3    A
4   9.0     0     3   6.0     8    B
5   2.0     1     6   NaN     2    A
6   6.0     5     7   9.0     9    B

第二个数据框:

   col1  col2
0     1   111
1     2   222
2     3   333
3     4   444

我的代码是:

for i in df2["col1"]:
    new_value=df2.loc[df2["col1"]==i]["col2"]
    df=df.replace(i,new_value)
print(df)

但是DataFrame的值没有改变。

这是我希望最终得到的:

    col1  col2  col3  col4  col5 type
0    NaN   444     7  14.0     0    B
1  333.0   222     6  11.0     5    B
2  444.0  4414     0  22.0     7    C
3    5.0     6    11   8.0   333    A
4    9.0     0     3   6.0     8    B
5  222.0   111     6   NaN   222    A
6    6.0     5     7   9.0     9    B

最佳答案

我想你想要:

df1.replace(df2.set_index('col1')['col2'])

输出:

    col1  col2  col3  col4  col5 type
0    NaN   444     7  14.0     0    B
1  333.0   222     6  11.0     5    B
2  444.0   444     0  22.0     7    C
3    5.0     6    11   8.0   333    A
4    9.0     0   333   6.0     8    B
5  222.0   111     6   NaN   222    A
6    6.0     5     7   9.0     9    B

关于python - 如何在具有两个 DataFrame 的 Pandas 中使用替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65172075/

相关文章:

python - 在最近的日期合并数据框

MYSQL删除连字符然后获取当前日期的第一个字符数

python - Pandas如何从聚合中按类别定位?

python - Pandas 中的日期时间转换问题

java - 使用 Java 中的 PDFbox 替换或删除 PDF 中的文本

javascript - 如何删除匹配的标签但保留 JQuery 的内容

python - 在 Flask-admin 中添加过滤器并在同一模型中搜索具有多个外键的模型

python - 使用 pandas 查找数据框中重复句子的数量

python - 有没有一种优雅的方法可以在单行矩阵和多行矩阵的每一行之间进行点积?

python - 对稀疏矩阵求指数