#python #pandas #tensorflow
#python #pandas #тензорный поток
Вопрос:
Я хотел попробовать этот фрагмент кода, который я нашел в Интернете,
from __future__ import absolute_import, division, print_function, unicode_literals
import tensorflow as tf
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from IPython.display import clear_output
from six.moves import urllib
dftrain = pd.read_csv("train.csv", header=0, delimiter=",") # training data
dfeval = pd.read_csv("eval.csv", header=0, delimiter=",") # testing data
# print(dftrain)
y_train = dftrain.pop('survived')
y_eval = dfeval.pop('survived')
CATEGORICAL_COLUMNS = ['sec', 'n_siblings_spouses', 'parch', 'class', 'deck', 'embark_town', 'alone']
NUMERICAL_COLUMNS = ['age', 'fare']
feature_columns = []
for feature_name in CATEGORICAL_COLUMNS:
vocabulary = dftrain[feature_name].unique()
feature_columns.append(tf.feature_column.categorical_column_with_vocabulary_list(feature_name, vocabulary))
for feature_name in NUMERICAL_COLUMNS:
feature_columns.append(tf.feature_column.numeric_column(feature_name, dtype=tf.float32))
к сожалению, я всегда получаю эту ошибку:
Traceback (most recent call last):
File "C:UsersMichaelPycharmProjectslearningTensorv3venvlibsite-packagespandascoreindexesbase.py", line 2889, in get_loc
return self._engine.get_loc(casted_key)
File "pandas_libsindex.pyx", line 70, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libsindex.pyx", line 97, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libshashtable_class_helper.pxi", line 1675, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas_libshashtable_class_helper.pxi", line 1683, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'sec'
(Это должно быть связано с первым оператором «for», но я не смог разобраться в этом самостоятельно, поэтому я надеюсь, что кто-нибудь сможет мне помочь)
Есть еще 2 случая этой ошибки при переполнении стека, и в обоих из них это были просто панды, ведущие себя странно.
Я попытался переустановить все библиотеки, проверить наличие обновлений IDE (я использую PyCharm), использовать более старые версии библиотек и изменить это выражение «for», к сожалению, ничего не помогло.
Ответ №1:
Возможно, это не основная причина вашей ошибки, но я наткнулся на это сообщение при получении той же ошибки.
- Для меня основной причиной была чисто ошибка усталости с моей стороны, когда я ссылался на
requests.get
вызов, который был назначен неправильно. - Программа не выдавала ошибку до нескольких строк позже, когда я попытался выполнить a
transformation
в своем столбце df, который изначально ссылался на данные api, которые не существовали.