python - Pandas DataFrame KeyError 1
问题描述
我尝试使用以下代码启动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
你能帮我弄清楚如何解决这个问题吗?
解决方案
my_ratings = my_ratings[my_ratings[1] != '']
看起来 1 (Key) 不是列名 (KeyError)。如果此语句的目的是删除空行,请尝试以下操作:
my_ratings.dropna(inplace=True)
希望这可以帮助!
推荐阅读
- angular - 如何在 Angular Material 表中显示数据?
- javascript - 请求数据在 Chrome、JavaScript 和 Contentful API 之外的浏览器中不起作用
- android - 单击按钮后列表视图不显示
- python - 如何获取每个打开窗口的名称列表?
- machine-learning - 神经网络的 4d 输入张量与 1d 输入张量(又名向量)
- python - Merging CSV entries by date and counting the entries per date
- android - 在 kotlin 中线程的正确方法
- android - 查看 RemoteViews / AppWidgets 使用的布局中是否存在 id
- python - 如何在 Python 中表示参数化类型?
- css - 如何从行中删除行?