2016-09-06 116 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) 

我的問題是如何添加具有相同的熊貓geters列: 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