NameError Traceback (самый последний вызов — последний)Python

Программы на Python
Ответить
Anonymous
 NameError Traceback (самый последний вызов — последний)

Сообщение Anonymous »

Я безуспешно пытался запустить приведенную ниже программу из-за ошибки Traceback, которую я не понимаю, поскольку функция четко определена. Любые предложения очень ценятся. Я использую Windows10, Jupyter Notebook, Python3. Надеюсь, этой информации достаточно, чтобы дать некоторые подсказки.
"""
Multi processing in Python, threading
"""

import pandas as pd
import timeit, sys
import numpy as np
import multiprocess as mp

df = pd.read_csv("C:/files/data.csv", encoding="UTF-8")

df['start-digits'] = None

startTime = timeit.default_timer()

def strip_digits(x):
return str(x)[:4]

def zip_handler(x):
x['start-digits'] = x['Zip Codes'].apply(strip_digits)
return x

def parallelize(dataframe, func):
dataframe_split = np.array_split(dataframe, partitions)
pool = mp.Pool(cores)
dataframe_return = pd.concat(pool.map(func, dataframe_split), ignore_index=True)
pool.close()

return dataframe_return

if __name__ == '__main__':
#mp.set_start_method('spawn')

cores = mp.cpu_count()
partitions = cores

df = parallelize(df, zip_handler)

group_dataframe = df.groupby(['Zip Codes'])
size_of_group = group_dataframe.size()

print(size_of_group)
print(group_dataframe.get_group(2443))

stopTime = timeit.default_timer() - startTime
round_time = round(stopTime, 6)

print('')
print(round_time/60, 'min handle time')
print('cpu threads', cores)
print('split size', partitions)


RemoteTraceback Traceback (most recent call last)
RemoteTraceback:
"""
Traceback (most recent call last):
File "C:\Users\trevo\anaconda3\lib\site-packages\multiprocess\pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "C:\Users\trevo\anaconda3\lib\site-packages\multiprocess\pool.py", line 48, in mapstar
return list(map(*args))
File "", line 20, in zip_handler
NameError: name 'strip_digits' is not defined
"""

The above exception was the direct cause of the following exception:

NameError Traceback (most recent call last)
in
35 partitions = cores
36
---> 37 df = parallelize(df, zip_handler)
38
39 group_dataframe = df.groupby(['Zip Codes'])

in parallelize(dataframe, func)
24 dataframe_split = np.array_split(dataframe, partitions)
25 pool = mp.Pool(cores)
---> 26 dataframe_return = pd.concat(pool.map(func, dataframe_split), ignore_index=True)
27 pool.close()
28

~\anaconda3\lib\site-packages\multiprocess\pool.py in map(self, func, iterable, chunksize)
362 in a list that is returned.
363 '''
--> 364 return self._map_async(func, iterable, mapstar, chunksize).get()
365
366 def starmap(self, func, iterable, chunksize=None):

~\anaconda3\lib\site-packages\multiprocess\pool.py in get(self, timeout)
769 return self._value
770 else:
--> 771 raise self._value
772
773 def _set(self, i, obj):

NameError: name 'strip_digits' is not defined


Подробнее здесь: https://stackoverflow.com/questions/667 ... -call-last
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»