根据特定列将pandas数据框列替换为另一个数据框

天师

我有两个具有许多列df1,df2的数据帧,并且我想用时间值相同的df2列中的数据替换所有df1值(时间列除外):

df1:

index time   x y   ......many other columns ( the same as df2)
0       1    1 1
1       1.1  2 2
2       1.1  3 3
3       1.1  4 4
4       1.4  5 5
5       1.5  6 6
6       1.5  7 7


df2:

index time  x   y   ....many other columns (the same as df1)
0       1   10  10
1       1.1 11  11
2       1.2 12  12
3       1.3 13  13
4       1.4 14  14
5       1.5 15  15
6       1.6 16  16



the result for df1 should be:

index time  x   y   ....many other columns 
0       1    10 10
1       1.1  11 11
2       1.1  11 11
3       1.1  11 11
4       1.4  14 14
5       1.5  15 15
6       1.5  15 15


人妖

我认为我能够使自己的思想井井有条,并希望能找到适合您的解决方案。

试试这个,您可以使用combine_first进行一些调整来得到答案

  1. combine_first从另一个值中填充空值dataframe,因此首先您可以将所有值(“时间”列中的值除外)替换为np.nan请注意,我将“时间”列用作index

  2. 正如combine_first将返回两个数据帧的并集一样,您可以使用isin来从df1最终输出中仅获取时间值

import numpy as np
import pandas as pd

df1[df1.columns.difference(['time'])] = np.nan
res = df1.set_index('time').combine_first(df2.set_index('time')).reset_index()
li = [i for i in df1['time'].unique()]

final= res[res['time'].isin(li)]

这将使您:

   time     x     y
0   1.0  10.0  10.0
1   1.1  11.0  11.0
2   1.1  11.0  11.0
3   1.1  11.0  11.0
6   1.4  14.0  14.0
7   1.5  15.0  15.0
8   1.5  15.0  15.0

在您的实际数据集上尝试一下,让我知道它是否有效。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据条件,将数据框的某些值替换为另一个数据框中的值

来自分类Dev

根据另一个数据框python熊猫替换列值-更好的方法?

来自分类Dev

根据来自另一个数据框的转换表替换列中的字符

来自分类Dev

根据Pandas中的ID将列值从一个数据框复制到另一个数据框

来自分类Dev

如何用另一个数据框列替换数据框列

来自分类Dev

根据另一个数据框的列填充熊猫数据框列

来自分类Dev

根据另一个数据框的列对数据框列进行排序

来自分类Dev

根据另一个数据框中的匹配ID替换数据框列值

来自分类Dev

根据另一个数据框的索引和列,用NaN替换数据框单元格

来自分类Dev

Python Pandas:根据另一个数据框的类别值创建新列

来自分类Dev

根据三列将一个Pandas数据框中的行与另一个数据框中的行进行匹配

来自分类Dev

根据另一个数据框从数据框中设置子集/选择列

来自分类Dev

根据另一个数据框计算数据框中的列值

来自分类Dev

根据另一个数据框向熊猫数据框列添加值

来自分类Dev

根据条件为另一个数据框的数据框列设置值

来自分类Dev

根据python中另一个数据框的2列过滤数据框

来自分类Dev

Python / Pandas:根据另一个数据框过滤和组织数据框的行和列

来自分类Dev

根据熊猫索引将熊猫列从数据框合并到另一个数据框

来自分类Dev

根据另一个数据框中的值将列添加到数据框中

来自分类Dev

根据来自另一个数据框的计数将列添加到数据框

来自分类Dev

根据Pandas中的一个公共列从另一个数据框更新多个列

来自分类Dev

将特定的列与另一个数据框合并后无法选择它

来自分类Dev

用另一个数据框的值替换一个数据框的列值

来自分类Dev

根据另一个数据框替换一个数据框中的列中的多个值

来自分类Dev

根据另一个数据框的值删除一个数据框的行和列

来自分类Dev

根据另一个数据框替换特定值

来自分类Dev

将数据框中的多个列与另一个数据框中的特定值相乘

来自分类Dev

基于&运算的子集pandas数据框来自另一个数据框的列

来自分类Dev

如何用另一个数据框重命名pandas数据框列?

Related 相关文章

  1. 1

    根据条件,将数据框的某些值替换为另一个数据框中的值

  2. 2

    根据另一个数据框python熊猫替换列值-更好的方法?

  3. 3

    根据来自另一个数据框的转换表替换列中的字符

  4. 4

    根据Pandas中的ID将列值从一个数据框复制到另一个数据框

  5. 5

    如何用另一个数据框列替换数据框列

  6. 6

    根据另一个数据框的列填充熊猫数据框列

  7. 7

    根据另一个数据框的列对数据框列进行排序

  8. 8

    根据另一个数据框中的匹配ID替换数据框列值

  9. 9

    根据另一个数据框的索引和列,用NaN替换数据框单元格

  10. 10

    Python Pandas:根据另一个数据框的类别值创建新列

  11. 11

    根据三列将一个Pandas数据框中的行与另一个数据框中的行进行匹配

  12. 12

    根据另一个数据框从数据框中设置子集/选择列

  13. 13

    根据另一个数据框计算数据框中的列值

  14. 14

    根据另一个数据框向熊猫数据框列添加值

  15. 15

    根据条件为另一个数据框的数据框列设置值

  16. 16

    根据python中另一个数据框的2列过滤数据框

  17. 17

    Python / Pandas:根据另一个数据框过滤和组织数据框的行和列

  18. 18

    根据熊猫索引将熊猫列从数据框合并到另一个数据框

  19. 19

    根据另一个数据框中的值将列添加到数据框中

  20. 20

    根据来自另一个数据框的计数将列添加到数据框

  21. 21

    根据Pandas中的一个公共列从另一个数据框更新多个列

  22. 22

    将特定的列与另一个数据框合并后无法选择它

  23. 23

    用另一个数据框的值替换一个数据框的列值

  24. 24

    根据另一个数据框替换一个数据框中的列中的多个值

  25. 25

    根据另一个数据框的值删除一个数据框的行和列

  26. 26

    根据另一个数据框替换特定值

  27. 27

    将数据框中的多个列与另一个数据框中的特定值相乘

  28. 28

    基于&运算的子集pandas数据框来自另一个数据框的列

  29. 29

    如何用另一个数据框重命名pandas数据框列?

热门标签

归档