Hello I am new to python and I have 2 dfs and a list of tickers and i would like to combine the 2 dfs based on a list of tickers. My second df had the tickers imported from an excel sheet and so the column names in the index are in a different order, I am not sure if that changes anything.
df1 looks like
df1
index | ABC | DEF | XYZ |
---|---|---|---|
avg | 2 | 6 | 12 |
std | 1 | 2 | 3 |
var | 24 | 25 | 35 |
max | 56 | 66 | 78 |
df 2
index | 10 | 40 | 96 |
---|---|---|---|
ticker | XYZ | ABC | DEF |
Sector | Auto | Tech | Mining |
I would like to combine them based on their ticker names in a third df
with all the information so it looks something like this
df3
index | ABC | DEF | XYZ |
---|---|---|---|
avg | 2 | 6 | 12 |
std | 1 | 2 | 3 |
var | 24 | 25 | 35 |
max | 56 | 66 | 78 |
Sector | Tech | Mining | Auto |
I have tried this
df3= pd.concat([df1,df2], ignore_index=True)
but it made a df
where they were side by side instead of in one combine df
. Any help would be appreciated.
Advertisement
Answer
You need to set the index
df2 = df2.set_index('index').T.set_index('ticker').T out = pd.concat([df1,df2]) ABC DEF XYZ index avg 2 6 12 std 1 2 3 var 24 25 35 max 56 66 78 Sector Tech Mining Auto