Как создать словарь элементов из кадра данных? - PullRequest
1 голос
/ 31 октября 2019

У меня есть Pandas dataframe df, который имеет вид:

pk  id_column   date_column sales_column
0   111         03/10/19    23
1   111         04/10/19    24
2   111         05/10/19    25
3   111         06/10/19    26
4   112         07/10/19    27
5   112         08/10/19    28
6   112         09/10/19    29
7   112         10/10/19    30
8   113         11/10/19    31
9   113         12/10/19    32
10  113         13/10/19    33
11  113         14/10/19    34
12  114         15/10/19    35
13  114         16/10/19    36
14  114         17/10/19    37
15  114         18/10/19    38

Как мне получить новый словарь, который содержит данные из id_column и sales_column как его значение, как показано ниже в порядке date_column .

{
    111: [23, 24, 25, 26],
    112: [27, 28, 29, 30],
    113: ...,
    114: ...
}

1 Ответ

4 голосов
/ 31 октября 2019

Сначала создайте серию списков в groupby с помощью list, а затем преобразуйте в словарь по Series.to_dict:

При необходимости сначала выполните сортировку по id_column и date_columnпреобразовать значения в дату и затем использовать DataFrame.sort_values:

df['date_column'] = pd.to_datetime(df['date_column'], dayfirst=True)
df = df.sort_values(['id_column','date_column'])

d = df.groupby('id_column')['sales_column'].apply(list).to_dict()
print (d)

{111: [23, 24, 25, 26], 112: [27, 28, 29, 30], 113: [31, 32, 33, 34], 114: [35, 36, 37, 38]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...