Я делаю Pandas Dataframe Merge в Python 3.7 64 бит
У меня есть два файла CSV, которые я читаю в pandas.
targeted = pd.read_csv('targeted.csv', low_memory=False, index_col=None)
size 74520 Ko
Unnamed: 0 394320
customer_id 113313
variable 394320
Master_Master 394320
dtype: int64
Melt_UNIVERSE = pd.read_csv('meltuniverse.csv', low_memory=False, index_col=None)
size 13520 Ko
customer_id 571493
variable 574121
value 574119
companyname 574121
targeted_period 574121
dtype: int64
Это мое слияние Pandas:
targeted = pd.merge(targeted, Melt_UNIVERSE, on='customer_id', how='outer')
Это мой код ошибки. Почему у Python недостаточно памяти для таких небольших наборов данных?
Я выполняю тот же код для файла из 4 миллионов строк, и у меня нет проблем с памятью. Почему эти два маленьких файла возвращают мне проблемы с памятью?
File "C:\ProgramData\Anaconda\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
execfile(filename, namespace)
File "C:\ProgramData\Anaconda\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/Dell/Desktop/KMIST DATABASE/KMIST_DATA/Main_Script_DATABASE_1003319.py", line 655, in <module>
targeted = pd.merge(targeted, Melt_UNIVERSE, on='customer_id', how='outer')
File "C:\ProgramData\Anaconda\lib\site-packages\pandas\core\reshape\merge.py", line 83, in merge
return op.get_result()
File "C:\ProgramData\Anaconda\lib\site-packages\pandas\core\reshape\merge.py", line 642, in get_result
join_index, left_indexer, right_indexer = self._get_join_info()
File "C:\ProgramData\Anaconda\lib\site-packages\pandas\core\reshape\merge.py", line 859, in _get_join_info
(left_indexer, right_indexer) = self._get_join_indexers()
File "C:\ProgramData\Anaconda\lib\site-packages\pandas\core\reshape\merge.py", line 838, in _get_join_indexers
self.left_join_keys, self.right_join_keys, sort=self.sort, how=self.how
File "C:\ProgramData\Anaconda\lib\site-packages\pandas\core\reshape\merge.py", line 1320, in _get_join_indexers
return join_func(lkey, rkey, count, **kwargs)
File "pandas\_libs\join.pyx", line 200, in pandas._libs.join.full_outer_join
File "pandas\_libs\join.pyx", line 206, in pandas._libs.join._get_result_indexer
File "C:\ProgramData\Anaconda\lib\site-packages\pandas\core\algorithms.py", line 1714, in take_nd
out = np.empty(out_shape, dtype=dtype, order="F")
MemoryError