Jupyter OK, ошибка Pycharm «объект списка не вызывается» - PullRequest
0 голосов
/ 11 мая 2019

Попытка проверить, правильно ли прочитаны типы данных, нормально работает в Jupyter, но выдает ошибку выше в Pycharm (2018.3.3 CE, сборка № 183.5153.39, 9 января 2019 г.):

import pandas.api.types as ptypes

filename = "myfile.csv"
numericcols = ['YEAR', 'AMOUNT']
stringcols = ['ID', 'REFERENCE']
dfcols = ['YEAR', 'ID', 'REFERENCE', 'AMOUNT']
coltypesdict = {'YEAR': int, 'AMOUNT': float, 'ID': str, 'REFERENCE': str}

start_pd = time.time()
try:
    with open (filename, 'rb') as file:
        reader = pd.read_csv(filename, chunksize=10000, header = None, names=dfcols, dtype=coltypesdict)
        df = pd.concat([x for x in reader], ignore_index=True)
    assert(set(df.columns) == set(dfcols))
    assert all(ptypes.is_numeric_dtype(df[col]) for col in numericcols) == True
    assert all(ptypes.is_string_dtype(df[col]) for col in stringcols) == True

    print("{} read successfully in {:.2f} secs".format(filename, time.time() - start_pd))
except IOError:
    print("could not read {}".format(filename))

Также пытался выделить код с таким же результатом:

numericcolslist = [ptypes.is_numeric_dtype((df[col]) for col in numericcols)]
stringccolslist = [ptypes.is_string_dtype((df[col]) for col in stringcols)]
assert all(numericcolslist) == True
assert all(stringccolslist) == True

Спасибо

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