Pandas DataFrame——按行构建

当我们从复杂表格提取出逐个样本的特征时,继而构成一条样本并组成训练或测试集时,比较容易想到的一点就是一行一行地构建DataFrame。

而pandas.Dataframe()容许的输入有numpy ndarray (structured or homogeneous), dict, or DataFrame这些;其中,我采用了从字典构建,最主要原因就是可以省去给每列填写列名的步骤,Dataframe能自动将字典的键转化为对应的列名;最后,最重要的一点就是,Dict can contain Series, arrays, constants, or list-like objects,也就是说输入的字典必须包含序列或数组,我们现在要将一行数据包装成DataFrame,每列只有一个元素,最简单的方法,就是用中括号[]将值包起来,就转化成了数组了。如果你没有将单独的值包装成数组,在构建DataFrame数,往往会报If using all scalar values, you must pass an index 这个错。

具体代码如下:

#经过一些列步骤得到,如下特征和所对应的值
train = pd.DataFrame()
dictionary = { 
	'feature1' : [1], 
	'feature2' : [2], 
	'feature3' : [3], 
	'feature4' : [4], 
	'feature5' : [5], 
	'feature6' : [6] 
}
train = train.append(pd.DataFrame(dictionary))
train

输出结果如下:


最后,需要用DataFrame的append函数将各个样本拼接起来。

你可能感兴趣的:(机器学习,特征处理)