我正在学习如何使用sklearn和scikit以及所有这些来进行机器学习。
我想知道如何将其导入为数据?
这是来自百万种歌曲类型数据集的数据集。
如何让我的data.target[0]
等于"经典的流行音乐和摇滚" (作为0)和data.target[1]
等于0,这是"经典流行音乐和摇滚音乐"并且data.target[640]
等于1,这是"民间"?
我的data.data[0,:]
等于-8.697
,155.007
,1,9等等(标题栏后面的所有数值)
答案 0 :(得分:2)
正如其他人所提到的那样,对于你正在寻找什么样的形状有点不清楚,但作为一般的首发,并且将数据转换为非常灵活的格式,你可以将文本文件读入python并将其转换为熊猫数据框。我确信他们是其他更紧凑的方法,但只是提供我们可以开始的明确步骤:
import pandas as pd
import re
file = 'filepath' #this is the file path to the saved text file
music = open(file, 'r')
lines = music.readlines()
# split the lines by comma
lines = [line.split(',') for line in lines]
# capturing the column line
columns = lines[9]
# capturing the actual content of the data, and dismissing the header info
content = lines[10:]
musicdf = pd.DataFrame(content)
# assign the column names to our dataframe
musicdf.columns = columns
# preview the dataframe
musicdf.head(10)
# the final column had formatting issues, so wanted to provide code to get rid of the "\n" in both the column title and the column values
def cleaner(txt):
txt = re.sub(r'[\n]+', '', txt)
return txt
# rename the column of issue
musicdf = musicdf.rename(columns = {'var_timbre12\n' : 'var_timbre12'})
# applying the column cleaning function above to the column of interest
musicdf['var_timbre12'] = musicdf['var_timbre12'].apply(lambda p: cleaner(p))
# checking the top and bottom of dataframe for column var_timbre12
musicdf['var_timbre12'].head(10)
musicdf['var_timbre12'].tail(10)
结果如下:
%genre track_id artist_name
0 classic pop and rock TRFCOOU128F427AEC0 Blue Oyster Cult
1 classic pop and rock TRNJTPB128F427AE9F Blue Oyster Cult
通过使用此格式的数据,您现在可以使用pandas groupby函数执行大量分组任务,查找某些类型及其相关属性等。
希望这有帮助!