【发布时间】:2023-04-08 12:06:01
【问题描述】:
系统: WIN10
IDE: ANACONDA/Jupyter 实验室
语言: Python 3.7.3 版
库:熊猫版本 1.0.1
数据来源:https://grouplens.org/datasets/movielens/
数据集: movies.csv; rating.cvs (ml-25m.zip)
由于某种原因,我在尝试编写数据透视表时遇到了问题。组合表有超过 25M 条记录,我的代码不断抛出以下错误:IndexError: index 993158425 is out of bounds for axis 0 with size 993157686
已采取措施:
- 为 nan 值测试了数据框的形状并清理了这些形状
- 在线搜索错误代码,找不到任何东西
- 尝试了各种编写数据透视表的方法:.pivot 和 .pivot_table
- 将交叉表视为一种解决方法:这行不通
代码:
df1_movies = pd.read_csv('Data/movies.csv')
df1_ratings = pd.read_csv('Data/ratings.csv')
df1_main = pd.merge(df1_movies, df1_ratings, on='movieId')
table = df1_main.pivot_table(index='userId', columns='title', values='rating')
错误
IndexError: index 993158425 is out of bounds for axis 0 with size 993157686
【问题讨论】:
-
1) 您希望数据是什么样的? 2)你使用的是哪个movielens数据集?我只是使用
ml-latest-small.zip并没有收到错误。但是,数据透视表中只有 5 行不是 100% 为空的... -
这可能会有所帮助。也许目前熊猫数据透视表的数据太大了? stackoverflow.com/questions/48492451/…
-
@大卫埃里克森,哇!我希望情况并非如此。我刚刚阅读了关于这个的 git repo,似乎一年前的对话已经过时了:(
-
@Anders Swanson,我现在要下载该文件集并进行测试。我正在使用更广泛的文件集:(ml-25m.zip)。由于目前没有已知的解决方法,您是否知道另一个处理大型矩阵的平台?
-
重新考虑在自己的列中为每个不同的移动标题生成如此宽的数据框。您希望通过这样的设置运行什么分析?
标签: python python-3.x pandas dataframe pivot-table