Pandas groupby для создания нового фрейма данных со значениями в виде столбцов - PullRequest
0 голосов
/ 06 мая 2018

Я хочу изменить данные по дате в Python как датафрейм.

enter image description here

Обязательно:

enter image description here

Есть ли функция панд?

Ответы [ 2 ]

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

Создайте дополнительный ключ с помощью cumcount, тогда мы делаем pivot, Данные из jpp

df.assign(key=df.groupby('Col1').cumcount()).pivot('key','Col1','Col2')
Out[29]: 
Col1    A    B    C
key                
0     1.0  4.0  6.0
1     2.0  5.0  7.0
2     3.0  NaN  8.0
0 голосов
/ 06 мая 2018

Одним из способов является использование pandas.concat для рядов, полученных из уникальных значений в ключевом столбце.

Вот минимальный пример.

import pandas as pd

df = pd.DataFrame({'Col1': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
                   'Col2': [1, 2, 3, 4, 5, 6, 7, 8]})

res = pd.concat({k: df.loc[df['Col1']==k, 'Col2'].reset_index(drop=True)
                 for k in df['Col1'].unique()}, axis=1)

print(res)

   A    B  C
0  1  4.0  6
1  2  5.0  7
2  3  NaN  8
...