Панды присваивают значения из одного кадра соответствующим столбцам в другом в выбранных строках - PullRequest
0 голосов
/ 27 апреля 2018
DF1
|col1 |  col2 |  col3 |
  12     v1      v12
  3      v3      v13
  5      v5      v14
  7      v10     v15

DF2
|col2| col3|
  x1  y2
  x2  y1

output DF1
|col1 |  col2 |  col3 |
  12     x2      y1
  3      v3      v13
  5      v5      v14
  7      x1     y2

Я хочу установить для строк 7,12 inDF1 значения DF2 без явного указания столбцов

что-то вроде DF1 [7,12] = DF2

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Использование только оператора .loc:

DF1.loc[DF1.col1.isin([12,7]), 'col2'] = DF2.col2.values

Возвращает:

>>> DF1
   col1 col2 col3
0    12   x1  v12
1     3   v3  v13
2     5   v5  v14
3     7   x2  v15
0 голосов
/ 27 апреля 2018

Вам нужно использовать update

df2.index=[0,3]# change the index you want to update in df1, then just using update 
df1.update(df2)
df1
Out[404]: 
   col1 col2 col3
0    12   x1   y2
1     3   v3  v13
2     5   v5  v14
3     7   x2   y1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...