I'm trying to assign dataframe columns to the row and column of the .loc
function. I have a DataFrame df
with no set index, with Sites
and Visits
as my column headers
Index | Site | Visit |
---|---|---|
0 | 101 | Visit 1 |
1 | 102 | Visit 1 |
2 | 102 | Visit 2 |
I have another dataframe df2
with Sites
as my dataframe index, and Visits
as my columns with Cost
as my values.
Index | Visit 1 | Visit 2 |
---|---|---|
101 | 50 | 60 |
102 | 100 | 120 |
I'm trying to use .loc
to index the Cost
from df2
and add it as a column to df1
like so
Index | Site | Visit | Cost |
---|---|---|---|
0 | 101 | Visit 1 | 50 |
1 | 102 | Visit 1 | 60 |
2 | 102 | Visit 2 | 120 |
I tried using the following code to provide a row and column value
df['Cost'] = df2.loc[df['Site'],df['Visit']]
But I got the following error:
KeyError: "Passing list-likes to .loc or [] with any missing labels is no longer supported.
The following labels were missing: etc. etc.
Any idea how to use two column values from one DataFrame as the .loc
row and column values?