2

I have extracted the indexes of certain rows that I'd like to assign to rows of another DataFrame with the following command:

indexes = df1[df1.iloc[:, 0].isin(df2.iloc[:, 0].values)].index.values

What I'd like to do is assign certain values of columns of df2 to the rows (of which I have the indexes) to certain columns of df1.

For example:

df1:

index | col1 | col2 | col3
  0   |  ABC |  DEF |  GHI
  1   |  JKL |  MNO |  PQR
  2   |  STU |  VWX |  YZ

df2:

index | colA | colB | colC
  0   | WHAT | EVER |  123
  2   |  111 |  222 |  333

What I'd like to do now for example is to assign the value of colB (df2) to col3 (df1) according to the indexes. So the result should be:

df1:

index | col1 | col2 | col3
  0   |  ABC |  DEF |  EVER   <- value of colB (df2)
  1   |  JKL |  MNO |  PQR
  2   |  STU |  VWX |  222    <- value of colB (df2)

I'm aware that I can set values with .iloc (integer location) function. But I can't figure out how to do this with the corresponding indexes.

Also I'd appreciate a good Pandas guide (as you can see I'm new with Pandas)

Greetings, Frame

fmedv
  • 153
  • 1
  • 2
  • 12

0 Answers0