2
我通過韋斯麥金尼的的Python數據分析學習Python和大熊貓。第2章中的一個示例是movie_id中MovieLens數據的合併,該數據無效。我認爲問題在於,在評級中,movie_id是一個int64,在電影中它是一個對象。合併返回一個空的數據框。熊貓據幀合併問題
我看了一些關於熊貓和自動數據類型分配以前的職位,發現pandas.io.parsers.read_table文檔中的D型,但不能獲得類型改變。
原始代碼:
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
FWIW書代碼適合我。要排除一個固定的錯誤,你能否確認你正在運行熊貓0.10.1? – DSM 2013-04-04 13:10:33
在[83]: 進口大熊貓 打印 「熊貓版本:」,熊貓.__ version__ 熊貓版本:0.10.1 – wayne 2013-04-04 13:36:03
奇怪,然後。我在影片數據框中的'movie_id'系列是'Name:movie_id,Length:3883,dtype:int64',看起來是正確的,並且合併的行爲與您期望的相同。 – DSM 2013-04-04 13:39:59