python - Pandas 根据另一列的值创建条件列
问题描述
我有两个df
df1:
索引文本 1 串1 2串2 3串3 4个 5串5 6个
df2:
索引文本 4串4 6串6
如何根据索引将 df1 中的文本“a”替换为 df2 中的值,使其显示如下。
df3:
索引文本 1 串1 2串2 3串3 4串4 5串5 6串6
解决方案
您可以将熊猫update
用作:
df1.set_index('index',inplace=True)
df2.set_index('index',inplace=True)
df1.update(df2) #df1 is changed
或者
df1.loc[df2.index,'text'] = df2['text'] #df1 is changed
或者输出在 df3 然后
df3 = df1.copy()
df3.update(df2) #df3 is changed
它们都产生:
text
index
1 string1
2 string2
3 string3
4 string4
5 string5
6 string6
推荐阅读
- url - 使用 wxWidgets 打开 URL 时遇到问题
- android - 我想在每次更改文本时突出显示 MutiAutoCompleteTextView 的语法
- python - Python:正则表达式查找文件中的所有函数调用,但不查找函数定义
- java - 在 RecyclerView 的单个界面中使用多个 onClick 方法
- django - 值集的 django 模型字段
- go - 可以在生产中使用 golang pprof 而不影响性能吗?
- performance - 如何通过添加单元子句来逐步解决一系列 CP-SAT 问题来实现加速?
- linux - 条件动态链接
- javascript - 如何通过在 Laravel 中传递参数来使用 ajax 重新加载数据表?
- laravel - Laravel 不时冻结