Я уже спросил a question, но перед выполнением моего кода для файлов с более чем миллионом строк у меня возникла проблема.Ожидаемая строка, int found При использовании pandas dataframe в большом файле
Код:
import numpy as np
import pandas as pd
import xlrd
import xlsxwriter
df = pd.read_excel('full-cust-data-nonconcat.xlsx')
df =df.groupby('ORDER_ID')['ASIN'].agg(','.join).reset_index()
writer = pd.ExcelWriter('PythonExport-Data.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
writer.save()
print df
Ошибка:
Traceback (most recent call last):
File "grouping-data.py", line 9, in <module>
df =df.groupby('ORDER_ID')['ASIN'].agg(','.join).reset_index()
File "/Library/Python/2.7/site-packages/pandas/core/groupby.py", line 2668, in aggregate
result = self._aggregate_named(func_or_funcs, *args, **kwargs)
File "/Library/Python/2.7/site-packages/pandas/core/groupby.py", line 2786, in _aggregate_named
output = func(group, *args, **kwargs)
TypeError: sequence item 0: expected string, int found
С момента своего огромного файла, как я могу проверить, где это найти строку и получить Int?
Есть ли способ преобразовать все это в строку сначала?
Sample Data: (эти идентификаторы буквенно-цифровой)
ID1 Some_other_id1
ID2 Some_other_id2
THA НКС ЭТО РАБОТАЕТ. Но когда я пробую его в другом файле с еще одним строковым столбцом, он дает ошибку: Файл «grouping-data.py», строка 11, в df = df ['ASIN']. Astype (str) .groupby (df ['ORDER_ID']). Agg (','. Join) .reset_index() Файл «/Library/Python/2.7/site-packages/pandas/core/frame.py», строка 2059, в __getitem__ return self ._getitem_column (ключ) Файл «/Library/Python/2.7/site-packages/pandas/core/frame.py», строка 2066, в _getitem_column return self._get_item_cache (key) Файл «/Library/Python/2.7 /site-packages/pandas/core/generic.py ", строка 1386, в _get_item_cache values = sel –
user2696258
Я не уверен, что это такое, возможно, вы можете поделиться некоторыми вашими данными, которые не выполняют команду. – Psidom