У меня есть датафрейм для панд:
index country value1 value2 value3
0 USA 6 5 4
1 USA 4 7 3
2 USA 3 2 1
3 CAN 4 5 7
4 CAN 10 8 6
Я хочу преобразовать это в ориентированный на столбцы фрейм данных, как показано ниже для каждого значения (то есть значение1, значение2 или значение3)
Первый кадр данных для значения1 должен выглядеть следующим образом:
index USA CAN
0 6 4
1 4 10
2 3 NaN
Я пробовал этот код
column = ['USA', 'CAN']
df_value1 = pd.DataFrame(columns=column)
temp = df['value1'].where(df['country']=='USA').dropna()
df_value1['USA'] = temp
temp = df['value1'].where(df['country']=='CAN').dropna()
pd.concat([df_value1, temp], axis=1, ignore_index=True)
Когда я объединяюсь вдоль столбца (ось = 1), поскольку значения CAN начинаются со строки 3, я получаю результирующий кадр данных df_vaue1, подобный этому:
index USA CAN
0 6 NaN
1 4 NaN
2 3 NaN
3 NaN 4
4 NaN 10
Но я хочу кадр данных df_value1, подобный этому:
index USA CAN
0 6 4
1 4 10
2 3 NaN
Как мне этого добиться?