Im reading in data and storing it in a pandas dataframe. I want to cretae a new dataframe structure.
Where Columns A and B are string values and column C are numpy floats.
Current dataframe structure (df_1):
| Column A | Column B | Column C |
|---|---|---|
| Cell_1 | Metal_1 | 0.2 |
| Cell_1 | Metal_2 | 0.4 |
| Cell_1 | Metal_3 | 0.3 |
| Cell_1 | Metal_4 | 0.5 |
| Cell_2 | Metal_1 | 0.1 |
| Cell_2 | Metal_2 | 0.2 |
| Cell_2 | Metal_3 | 0.3 |
| Cell_2 | Metal_4 | 0.7 |
I want to iterate through the current dataframe (df_1) and make a new dataframe (df_2).
So Column B string values become the index, Column B vlaues become individual columns and column C become rows associated with both.
The intended dataframe (df_2) will look like this:
| Index | Cell_1 | Cell_2 |
|---|---|---|
| Metal_1 | 0.2 | 0.1 |
| Metal_2 | 0.4 | 0.2 |
| Metal_3 | 0.3 | 0.3 |
| Metal_4 | 0.5 | 0.7 |
I havent tried anything yet
CodePudding user response:
no need to use a loop. just use the pivot method
df.pivot(columns='Column A', values='Column C', index='Column B')
