добавить значения в столбец данных - PullRequest
0 голосов
/ 30 мая 2018

Здравствуйте, я новичок в Pandas, и у меня есть ситуация, когда у меня есть датафрейм, например ниже:

, и я хочу добавить еще один столбец в фрейм данных, чтобы он выглядел следующим образом:

введите описание изображения здесь

Может кто-нибудь любезно помочь.Я попробовал свои способы преобразовать его в словарь и напечатать значения, но это не дает мне вывод в этой форме.

1 Ответ

0 голосов
/ 30 мая 2018

Я думаю, что нужно GroupBy.transform для join редактировать значения для нового столбца как string s:

df['col 5'] = (df.groupby(['col 1','col 2','col 3'])['col 4']
                 .transform(lambda x: ','.join(x.astype(str))))
print (df)
  col 1 col 2 col 3  col 4        col 5
0     A     B     C     25  25,22,23,45
1     A     B     C     22  25,22,23,45
2     A     B     C     23  25,22,23,45
3     A     B     C     45  25,22,23,45
4     P     Q     R      9     9,109,20
5     P     Q     R    109     9,109,20
6     P     Q     R     20     9,109,20

При необходимости list s использовать join:

df = df.join(df.groupby(['col 1','col 2','col 3'])['col 4']
               .apply(list).rename('col 5'), on=['col 1','col 2','col 3'])
print (df)
  col 1 col 2 col 3  col 4             col 5
0     A     B     C     25  [25, 22, 23, 45]
1     A     B     C     22  [25, 22, 23, 45]
2     A     B     C     23  [25, 22, 23, 45]
3     A     B     C     45  [25, 22, 23, 45]
4     P     Q     R      9      [9, 109, 20]
5     P     Q     R    109      [9, 109, 20]
6     P     Q     R     20      [9, 109, 20]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...