我正在通过 Wes McKinney 的Python for Data Analysis学习 python 和 pandas 。第 2 章中的一个示例是在 movie_id 上合并 MovieLens 数据,但它不起作用。我认为问题在于,在评级中,movie_id 是一个 int64,而在电影中它是一个对象。合并返回一个空数据框。
我已经阅读了之前关于 pandas 和自动数据类型分配的一些帖子,并在 pandas.io.parsers.read_table 文档中找到了 dtype,但无法更改类型。
原代码:
mnames = ['movie_id', 'title', 'genres']
movies = pd.read_table('ch02/movielens/movies.dat', sep='::', header=None, names=mnames)
我的研究表明什么应该起作用:
movies = pd.read_table('ch02/movielens/movies.dat', sep='::', header=None, names=mnames, dtype={'movie_id':np.int64})
不幸的是,类型没有改变,合并仍然返回一个空集。我正在运行熊猫 0.10.1