熊猫从其他数据框中复制值

壁虎

熊猫数据框df1包含值列表A

df1 = pd.DataFrame({'A':['a','a','b']})

   A
0  a
1  a
2  b

数据帧df2可以看作是从A中的值到B中的值的映射

df2 = pd.DataFrame({'A':['a','b'], 'B':[2,3]})

   A  B
0  a  2
1  b  3

我想将映射应用于df1。我拥有的工作版本就是这个版本,但是我觉得有改进的潜力,因为我发现自己的解决方案不可读,并且不确定如何将其推广到多索引

df2.set_index('A').loc[df1.set_index('A').index].reset_index()
   A  B
0  a  2
1  a  2
2  b  3

我也可以将df2转换为字典并使用replace方法,但是它也不能说服我。

埃德·楚姆

map为此,有一个函数可以接受字典或序列,在后者中,它使用索引来执行查找:

In [94]:
df1['A'].map(df2.set_index('A')['B'])

Out[94]:
0    2
1    2
2    3
Name: A, dtype: int64

In [93]:    
%timeit df1['A'].map(df2.set_index('A')['B'])
%timeit df1.merge(df2, on='A')
1000 loops, best of 3: 718 µs per loop
1 loops, best of 3: 1.31 ms per loop

在您的测试数据map上,速度快了将近2倍,我希望这对大型数据也是如此,因为它是经过cython优化的,并且不需要做太多检查merge

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据匹配值从其他数据框中复制列

来自分类Dev

根据其他数据框中的列值在熊猫数据框中创建列

来自分类Dev

从其他数据框熊猫填充数据框中的列的NAN值

来自分类Dev

熊猫:如何使用其他数据框的列替换数据框中的值

来自分类Dev

根据数据框中的其他列更改熊猫数据框的列值

来自分类Dev

如果其他数据框中没有该值,则熊猫从数据框中排除行

来自分类Dev

熊猫数据框在其他数据框中查找值并分配值

来自分类Dev

如何根据条件(特定列的相同值)从其他数据框中复制值?

来自分类Dev

熊猫用同一行中的其他列值替换数据框值

来自分类Dev

根据熊猫数据框中的其他索引值对索引值进行分组

来自分类Dev

通过从其他数据框中查找替换列中的熊猫值

来自分类Dev

如何使用熊猫数据框中其他列的条件语句对列中的值求和?

来自分类Dev

用其他列中的计算替换熊猫数据框中的NaN值

来自分类Dev

如何根据其他两列中的值在熊猫数据框中添加新列

来自分类Dev

计算值熊猫并与其他数据框组合

来自分类Dev

熊猫使用其他2个查找数据框中的值在一个数据框中提取数据

来自分类Dev

如果其他条件在熊猫数据框中并提取列值

来自分类Dev

根据其他数据框列映射熊猫列中类别的值

来自分类Dev

按列分组并从熊猫数据框中的其他列中选择特定值

来自分类Dev

比较其他熊猫数据框的每一行中的值

来自分类Dev

根据熊猫数据框中其他列的条件和值创建新列

来自分类Dev

根据其他列值选择熊猫数据框中的列

来自分类Dev

如何根据同一数据框其他列中的值过滤熊猫数据框中的结果?

来自分类Dev

如何复制熊猫数据框以匹配其他数据框的长度?

来自分类Python

熊猫获取不在其他数据框中的行

来自分类Dev

使用其他数据框重命名熊猫中的列

来自分类Dev

从其他数据框中依次更新熊猫列

来自分类Dev

联接熊猫中其他数据框的列

来自分类Dev

更改一个数据框的值与其他数据框熊猫的值

Related 相关文章

  1. 1

    根据匹配值从其他数据框中复制列

  2. 2

    根据其他数据框中的列值在熊猫数据框中创建列

  3. 3

    从其他数据框熊猫填充数据框中的列的NAN值

  4. 4

    熊猫:如何使用其他数据框的列替换数据框中的值

  5. 5

    根据数据框中的其他列更改熊猫数据框的列值

  6. 6

    如果其他数据框中没有该值,则熊猫从数据框中排除行

  7. 7

    熊猫数据框在其他数据框中查找值并分配值

  8. 8

    如何根据条件(特定列的相同值)从其他数据框中复制值?

  9. 9

    熊猫用同一行中的其他列值替换数据框值

  10. 10

    根据熊猫数据框中的其他索引值对索引值进行分组

  11. 11

    通过从其他数据框中查找替换列中的熊猫值

  12. 12

    如何使用熊猫数据框中其他列的条件语句对列中的值求和?

  13. 13

    用其他列中的计算替换熊猫数据框中的NaN值

  14. 14

    如何根据其他两列中的值在熊猫数据框中添加新列

  15. 15

    计算值熊猫并与其他数据框组合

  16. 16

    熊猫使用其他2个查找数据框中的值在一个数据框中提取数据

  17. 17

    如果其他条件在熊猫数据框中并提取列值

  18. 18

    根据其他数据框列映射熊猫列中类别的值

  19. 19

    按列分组并从熊猫数据框中的其他列中选择特定值

  20. 20

    比较其他熊猫数据框的每一行中的值

  21. 21

    根据熊猫数据框中其他列的条件和值创建新列

  22. 22

    根据其他列值选择熊猫数据框中的列

  23. 23

    如何根据同一数据框其他列中的值过滤熊猫数据框中的结果?

  24. 24

    如何复制熊猫数据框以匹配其他数据框的长度?

  25. 25

    熊猫获取不在其他数据框中的行

  26. 26

    使用其他数据框重命名熊猫中的列

  27. 27

    从其他数据框中依次更新熊猫列

  28. 28

    联接熊猫中其他数据框的列

  29. 29

    更改一个数据框的值与其他数据框熊猫的值

热门标签

归档