I have a dataset like this
name scalar
tovar "Блэк Джэк"
Qtty 1
povar Алиева Максадой
date 2022-01-01
time 18:37:08
tovar "Блэк Джэк cn "
Qtty 1
povar Алиева Максадой
date 2022-01-18
time 21:58:50
tovar "Блэк Джэк vip"
Qtty 2
povar Алиева Максадой
date 2022-01-01
time 18:07:08
i want to convert it to wide view
tovar Qtty povar date time
Блэк Джэк 1 Комилова Гулноза 2022-01-22 10:05:01
4 сезона С. 2 Комилова Гулноза 2022-01-23 12:24:16
I beg your pardon, I could not provide images of what I want to get in the end
CodePudding user response:
Create a dummy variable to get index rows then pivot your dataframe:
out = df.assign(index=df['name'].eq('tovar').cumsum()) \
.pivot('index', 'name', 'scalar')[df['name'].unique()] \
.rename_axis(index=None, columns=None)
print(out)
# Output
tovar Qtty povar date time
1 "Блэк Джэк" 1 Алиева Максадой 2022-01-01 18:37:08
2 "Блэк Джэк cn " 1 Алиева Максадой 2022-01-18 21:58:50
3 "Блэк Джэк vip" 2 Алиева Максадой 2022-01-01 18:07:08
