Python - Pandas - Преобразование столбца с определенными подмножествами в строки - PullRequest
0 голосов
/ 24 апреля 2018

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

+----------+--------+--------+
|   Date   | Price  | Serial |
+----------+--------+--------+
| 2/1/1996 | 0.5909 |      1 |
| 2/1/1996 | 0.5711 |      2 |
| 2/1/1996 | 0.5845 |      3 |
| 3/1/1996 | 0.5874 |      1 |
| 3/1/1996 | 0.5695 |      2 |
| 3/1/1996 |  0.584 |      3 |
+----------+--------+--------+

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

+----------+--------+--------+--------+
|   Date   |   1    |   2    |   3    |
+----------+--------+--------+--------+
| 2/1/1996 | 0.5909 | 0.5711 | 0.5845 |
| 3/1/1996 | 0.5874 | 0.5695 |  0.584 |
+----------+--------+--------+--------+

Я понимаю, что могу сделать это через цикл, но мне просто интересно, есть ли более эффективный способ сделать это?

Спасибо за вашу помощь. Также интересно, есть ли лучший способ вставлять такие таблицы, а не прикреплять изображения в моих вопросах = x

1 Ответ

0 голосов
/ 24 апреля 2018

Вы можете использовать pandas.pivot_table:

res = df.pivot_table(index='Date', columns='Serial', values='Price', aggfunc=np.sum)\
        .reset_index()

res.columns.name = ''

       Date       1       2       3
0  2/1/1996  0.5909  0.5711  0.5845
1  3/1/1996  0.5874  0.5695  0.5840
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...