根据将另一个单元格与另一个数据帧的单元格进行比较来更改一个数据帧中单元格的值-熊猫

山莓

我有两个看起来像的数据框:

df1

col1            col2         col3
20              John         Positive
21              Kate         Negative
22              Nick         Another



df2

col1            col2         col3
21              message      white
22              text         black
20              nothing      orange,yellow
19              excel        blue

我想让它们看起来像:

df3

col1             col2         col3
20               John         orange,yellow
21               Kate         white
22               Nick         black

如果两个数据帧的col1中的数字匹配,我想将col3中df1的值更改为col3中df2的值。(在col1的df2中,我获得的值比df1 col1中的更多,但它包括df1 col1中的所有数字)

我提出了解决方案,如下所示:

for i in range(len(df2)):
    df1.loc[df1.col1 == df2.col1[i], ['col3']] = df2.col3[i]

我的解决方案正在工作,但这确实很耗时。我希望使用熊猫可以改善我的代码。你有什么想法吗?

耶斯列尔

DataFrame.merge与左联接一起使用DataFrame.fillna

#column fo join with all columns for replace, here col3
cols = ['col1','col3']
df = df1.merge(df2[cols], on='col1', how='left', suffixes=('_','')).fillna(df1)[df1.columns]
print (df)
   col1  col2           col3
0    20  John  orange,yellow
1    21  Kate          white
2    22  Nick          black

Series.map按系列使用,df2如果replace只需要一列:

df1['col3'] = df1['col1'].map(df2.set_index('col1')['col3']).fillna(df1['col3'])

要么:

df1['col3'] = df1['col1'].replace(df2.set_index('col1')['col3']).fillna(df1['col3'])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫根据另一个单元格更改单元格值

来自分类Dev

根据熊猫中另一个单元格的内容在一个单元格中写入特定数据

来自分类Dev

根据熊猫中另一个单元格的内容在一个单元格中写入特定数据

来自分类Dev

熊猫将一个单元格的值设置为等于另一个

来自分类Dev

熊猫创建复制另一个单元格值的列

来自分类Dev

Python熊猫,通过另一个数据框为数据框单元格设置背景色

来自分类Dev

将特定单元格中的字符串移动到熊猫中的另一个单元格

来自分类Dev

在熊猫数据框中的第一个单元格中设置值

来自分类Dev

根据R中的另一个数据帧更改单元格

来自分类Dev

将一个熊猫数据帧合并到另一个熊猫数据帧,并从第二个数据帧中删除第一个数据帧中存在的值

来自分类Dev

无法在熊猫中选择一个单元格

来自分类Dev

从熊猫数据框中读取5行,然后将其插入另一熊猫数据框中的每行一个单元格中

来自分类Dev

取一个单元格的值来表示熊猫的列名

来自分类Dev

在另一个数据帧中计算一行熊猫数据帧

来自分类Dev

汇总熊猫数据框中的列,其中每个单元格值都是一个列表

来自分类Dev

在熊猫数据框中获取t-1值(来自上一个单元格)

来自分类Dev

在python熊猫中,如何合并两个数据帧,同时使用另一个的权重将值散布在一个数据中?

来自分类Dev

在一个函数中,一个数据帧分配也奇怪地覆盖了另一个数据帧。(熊猫)

来自分类Dev

从最后一行熊猫数据框中获取第一个单元格

来自分类Dev

熊猫:仅过滤标头,第一个单元格值和单元格值:如果行中的一个或多个单元格满足条件

来自分类Dev

根据另一个数据框值对熊猫值进行排序

来自分类Dev

用来自另一个数据帧的匹配 ID 替换 Pandas 中的单元格值

来自分类Dev

如何从熊猫而不是系列返回一个单元格值?

来自分类Dev

熊猫使用熊猫数据帧的索引更新同一索引上的另一个数据帧

来自分类Dev

熊猫根据列值将数据帧除以另一个

来自分类Dev

用基于索引的另一个数据帧中的行覆盖熊猫数据帧中的某些行

来自分类Dev

基于列中的某些值,更新另一个数据帧熊猫中的其他列

来自分类Dev

从另一个数据帧有条件地更新熊猫

来自分类Dev

熊猫:根据另一列中的条件更改该列的先前单元格值

Related 相关文章

  1. 1

    熊猫根据另一个单元格更改单元格值

  2. 2

    根据熊猫中另一个单元格的内容在一个单元格中写入特定数据

  3. 3

    根据熊猫中另一个单元格的内容在一个单元格中写入特定数据

  4. 4

    熊猫将一个单元格的值设置为等于另一个

  5. 5

    熊猫创建复制另一个单元格值的列

  6. 6

    Python熊猫,通过另一个数据框为数据框单元格设置背景色

  7. 7

    将特定单元格中的字符串移动到熊猫中的另一个单元格

  8. 8

    在熊猫数据框中的第一个单元格中设置值

  9. 9

    根据R中的另一个数据帧更改单元格

  10. 10

    将一个熊猫数据帧合并到另一个熊猫数据帧,并从第二个数据帧中删除第一个数据帧中存在的值

  11. 11

    无法在熊猫中选择一个单元格

  12. 12

    从熊猫数据框中读取5行,然后将其插入另一熊猫数据框中的每行一个单元格中

  13. 13

    取一个单元格的值来表示熊猫的列名

  14. 14

    在另一个数据帧中计算一行熊猫数据帧

  15. 15

    汇总熊猫数据框中的列,其中每个单元格值都是一个列表

  16. 16

    在熊猫数据框中获取t-1值(来自上一个单元格)

  17. 17

    在python熊猫中,如何合并两个数据帧,同时使用另一个的权重将值散布在一个数据中?

  18. 18

    在一个函数中,一个数据帧分配也奇怪地覆盖了另一个数据帧。(熊猫)

  19. 19

    从最后一行熊猫数据框中获取第一个单元格

  20. 20

    熊猫:仅过滤标头,第一个单元格值和单元格值:如果行中的一个或多个单元格满足条件

  21. 21

    根据另一个数据框值对熊猫值进行排序

  22. 22

    用来自另一个数据帧的匹配 ID 替换 Pandas 中的单元格值

  23. 23

    如何从熊猫而不是系列返回一个单元格值?

  24. 24

    熊猫使用熊猫数据帧的索引更新同一索引上的另一个数据帧

  25. 25

    熊猫根据列值将数据帧除以另一个

  26. 26

    用基于索引的另一个数据帧中的行覆盖熊猫数据帧中的某些行

  27. 27

    基于列中的某些值,更新另一个数据帧熊猫中的其他列

  28. 28

    从另一个数据帧有条件地更新熊猫

  29. 29

    熊猫:根据另一列中的条件更改该列的先前单元格值

热门标签

归档