Pandas DataFrame KeyError 1 - PullRequest
       31

Pandas DataFrame KeyError 1

0 голосов
/ 09 февраля 2020

Я пытался запустить следующий код, используя Pandas:

if USER_RATINGS:
  my_ratings = pd.DataFrame.from_records(worksheet.get_all_values()).reset_index()
  my_ratings = my_ratings[my_ratings[1] != '']
  my_ratings = pd.DataFrame({
      'user_id': "943",
      'title':list(map(str, my_ratings[0])),
      'listen_count': list(map(float, my_ratings[1]))
  })
my_ratings.merge(song_df_2, on="title", how="left")
song_df = song_df[song_df.user_id != "943"]
song_df = song_df.append(my_ratings, ignore_index=True)
if users.shape[0] == 943:
  users = users.append(users.iloc[942], ignore_index=True)
  users["user_id"][943] = "943"
print("Added your %d ratings; you have great taste!" % len(my_ratings))
song_df[song_df.user_id=="943"].merge(music[['song_id', 'title']])

Однако у меня была следующая ошибка ниже:

During handling of the above exception, another exception occurred:
KeyError
Traceback (most recent call last)
2 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   2897                 return self._engine.get_loc(key)
   2898             except KeyError:
-> 2899                 return self._engine.get_loc(self._maybe_cast_indexer(key))
[...]
KeyError: 1

Не могли бы вы помочь мне понять узнать, как решить эту проблему?

1 Ответ

0 голосов
/ 09 февраля 2020

my_ratings = my_ratings [my_ratings [1]! = '']

Похоже, 1 (Key) не является именем столбца (KeyError). Если целью этого оператора является удаление пустых строк, попробуйте вместо этого:

my_ratings.dropna(inplace=True)

Надеюсь, это поможет!

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