【发布时间】:2019-11-16 11:06:03
【问题描述】:
我正在读取多个 csv 文件并将它们的信息加载到 pandas 数据框中。我试图将每个文件分类为目标列中的标签0 或标签1,并且每个文件都具有具有多个值的特征。我很难找到最好的方法来构建一个可以使用sklearn的支持向量机分类模型正确处理的结构@
示例数据框: image example of the dataframe structure.
file [1st feature] - [2nd feature] - [target]
0 - [20,30,10...] - [0,1,2,3,4] - 0
1 - [10,50,20...] - [1,2,0,4,3] - 1
2 - [20,30,40...] - [2,4,0,1,3] - 1
3 - [50,10,40...] - [0,1,2,3,4] - 1
我用来将 csv 文件读入数据框的示例代码:
os.chdir("E:\Research Machine Learning\ComputerDebugging\option1")
extension = 'csv'
all_files = [i for i in glob.glob('*.{}'.format(extension))]
#new DataFrame
df1 = pd.DataFrame(columns=["%CPU","PID",'TimeStamp','target'])
fields=["%CPU","PID",'TimeStamp']
for f in all_files:
files.append(f)
bugs = pd.read_csv(f, header=0,usecols=fields,nrows=1800)
bugs.sort_values(by=['TimeStamp','PID'], inplace=True)
CPU =np.array( bugs["%CPU"])
PID =np.array( bugs["PID"])
df1.loc[f,'%CPU'] = CPU
df1.loc[f,'PID']= PID
df1['target']=1
print("Option 1:")
print(df1.head(3),'\n')
我用已知目标更新数据框,因为这是我的训练集。读取标签为“0”的文件时我也会这样做。 由于每个文件都需要自己的分类,我认为这可能是最好的方法,但我认为我错了。
我在尝试编译时不断收到此错误
ValueError:使用序列设置数组元素。
我相信这与模型期望单个值但它得到一个数组这一事实有关。模型有没有办法处理具有这种结构的数据。或者有什么方法可以重组并保留信息?
【问题讨论】:
-
能否提供用于加载数据帧的代码?
-
是的,我将使用示例代码进行编辑。
标签: python csv dataframe machine-learning classification