О массиве в Python (Numpy) - PullRequest
1 голос
/ 16 мая 2019

Я использую Python, и соединение с сервером SQL. Я выбрал из данных в sql server.

CustomerNumber	TransactionDate
1	                2/3/2019
1	                12/4/2019
1	                12/17/2019
2                	1/4/2019
2	                4/4/2019
3	                7/5/2019
4	                7/7/2019
4	                9/5/2019
4	                9/15/2019
4                	10/15/2019

Я хочу преобразовать в массив на основе CustomerNumber

[1 2/3/2019 12/4/2019 12/17/2019 ]
[2 1/4/2019 4/4/2019]
[3 7/5/2019]
[4 7/5/2019 7/7/2019 9/5/2019 9/15/2019 10/15/2019]

Я начинающий питон. Поэтому я с нетерпением жду ваших отзывов. Спасибо за вашу помощь.

Ответы [ 2 ]

2 голосов
/ 16 мая 2019

Так как я думаю, что это pandas DataFrame, вот путь от pandas

s=df.groupby('CustomerNumber').TransactionDate.apply(list).reset_index()
s
Out[49]: 
   CustomerNumber                              TransactionDate
0               1            [2/3/2019, 12/4/2019, 12/17/2019]
1               2                         [1/4/2019, 4/4/2019]
2               3                                   [7/5/2019]
3               4  [7/7/2019, 9/5/2019, 9/15/2019, 10/15/2019]
l=(s.CustomerNumber.apply(lambda x : [x])+s.TransactionDate).tolist()
l
Out[50]: 
[[1, '2/3/2019', '12/4/2019', '12/17/2019'],
 [2, '1/4/2019', '4/4/2019'],
 [3, '7/5/2019'],
 [4, '7/7/2019', '9/5/2019', '9/15/2019', '10/15/2019']]
0 голосов
/ 16 мая 2019

Я рекомендую вам прочитать ваши данные в pandas dataframe, используя pandas.read_sql (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_sql.html).. Убедитесь, что у вас есть правильные аргументы, и обратите внимание на аргумент 'con', для которого вы указываете соединение с базой данных SQL. .

Как только вы поместите его во фрейм данных pandas с двумя столбцами (номер_пользователя и дата транзакции), он станет простой групповой операцией:

df.groupby(['CustomerNumber'])['TransactionDate'].apply(list)

Это должно сгруппировать по CustomerNumber и добавить соответствующие даты в список для каждого уникального номера клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...