Перенесите данные в заголовок столбца и назначьте значение в panda

#python #dataframe

Вопрос:

Учитывая фрейм данных:

Имя Тип ценность
xx a 1
yy b 2

как мне перенести его в:

Имя a b
xx 1 0
yy 0 2

Только придумайте идею, в которой я создал новый столбец, и назначьте значение на основе столбца «тип».

df.loc[df.тип == ‘a’, ‘a’] = df[‘значение’]

затем заполните na

повторяйте до тех пор, пока не будут обработаны все типы.

Я чувствую, что должно быть лучшее решение, просто не могу найти никакой ссылки. Пожалуйста, какой-нибудь намек?

Ответ №1:

Вы, наверное, хотите чего-то подобного

 import pandas as pd

df = pd.read_csv('data.csv')

df = df.pivot(index='type', columns='name', values='value').rename_axis(None)
df = df.transpose().fillna(0).astype(int).reset_index()
print(df)

 

С принтами

   name  a  b
0   xx  1  0
1   yy  0  2
 

csv, который я использовал

 name,type,value
xx,a,1
yy,b,2
 

Комментарии:

1. Спасибо!! pivot-это тот, кого я ищу!!