2016-09-06 8 views
0

私はパンダに新たなんだ、と次のコードスニペットで行わ正確な機能模倣、パンダを使用してテーブルを準備する必要があります:複数の列

with open(r'D:/DataScience/ml-100k/u.item') as f: 
    temp='' 
    for line in f: 
     fields = line.rstrip('\n').split('|') 
     movieId = int(fields[0]) 
     name = fields[1] 
     geners = fields[5:25] 
     geners = map(int, geners) 

私の質問を geners = fields[5:25]

答えて

0

あなたが達成しようとしていることは分かりません - フィールド5-25が連結された単一のジャンル列が連結されていますか?フィールド5-25のジャンル欄を分けたり、

後者の場合

、あなたは[pandas.read_csv](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html)使用することができます。前者

import pandas as pd 

cols = ['movieId', 'name'] + ['genre_' + str(i) for i in range(5, 25)] 
df = pd.read_csv(r'D:/DataScience/ml-100k/u.item', delimiter='|', names=cols) 

、あなたがスペースで区切られたリスト、発言にジャンルを連結することができ、使用して:

df['genres'] = df[cols[2:]].apply(lambda x: ' '.join(x), axis=1) 
df.drop(cols[2:], axis=1, inplace=True) # drop the separate genre_N columns