1

次の 2 つの pandas データ フレームがあるとします。

>>> df1 = pd.DataFrame({'c1':['a','b','c','d'], 'c':['x','y','y','x']})

  c1 c2
0  a  x
1  b  y
2  c  y
3  d  x

>>> df2 = pd.DataFrame({'c1':['d','c','a','b'], 'val1':[12,31,14,34], 'val2':[0,0,1,1]})

  c1  val1  val2
0  d    12     4
1  c    31     3
2  a    14     1
3  b    34     2

の要素を考慮して、列val1val2df2データ フレームに追加したいと思います。更新されたものは次のようになります。df1c1df1

>>> df1

  c1 c2 val1  val2
0  a  x  14     1
1  b  y  34     2
2  c  y  31     3
3  d  x  12     4

set_index と update: の組み合わせを考えましたが、うまくいき df1.set_index('c1').update(df2.set_index('c1'))ませんでした...

4

1 に答える 1

2

使用できますpd.merge

import pandas as pd

df1 = pd.DataFrame({'c1':['a','b','c','d'], 'c2':['x','y','y','x']})
df2 = pd.DataFrame({'c1':['d','c','a','b'], 'val1':[12,31,14,34], 'val2':[4,3,1,2]})

df1 = pd.merge(df1, df2, on=['c1'])
print(df1)

収量

  c1 c2  val1  val2
0  a  x    14     1
1  b  y    34     2
2  c  y    31     3
3  d  x    12     4
于 2013-11-06T22:13:18.603 に答える