Значения столбцов для наблюдения одной строки - PullRequest
1 голос
/ 01 июля 2019

Попытка сгруппировать по переменной Product и объединить значения из столбца в строку

df:

Product    Value

 TV         0.1
 TV         0.2
 TV         0.15
 DVD        0.001
 DVD        0.01
 Netflix    0.1
 Netflix    0.2
 Netflix    0.25

Я хочу создать DF в форме:

Product    Value
 TV        (0.1, 0.2, 0.15)
 DVD       (0.001, 0.01)
 Netflix   (0.1, 0.2, 0.25) 

Я думал, что смогу использовать что-то вроде:

 df['Value'] = df.groupby('Product')['Amount'].apply(",".join(map(str, df['Value]))) 

, но это, похоже, не работает.Я пытался без map () безрезультатно.Я думаю, что я, вероятно, слишком усложняю это, но не могу найти решение.

1 Ответ

2 голосов
/ 01 июля 2019

Вы почти правильно поняли, просто примените лямбду так, чтобы:

df.groupby('Product')['Value'].apply(lambda x: ",".join(map(str, x)))

, и вы получите желаемый результат.

Если скобки открытия / закрытия имеют решающее значение, просто добавьте:

df['Value'].apply(lambda x: f"({x})")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...