sklearn之svm-葡萄酒质量预测(2)

继续读取csv基础
true_values : list, default None
认为为True的值

false_values : list, default None
认为为False的值

skipinitialspace : boolean, default False
在分隔符之后跳过空格。

skiprows : list-like or integer or callable, default None
要跳过的行号(0索引)或文件开头要跳过的行数(int)。
如果可调用,可调用函数将根据行索引进行计算,如果要跳过该行,则返回True,否则返回False。一个有效的可调用参数的例子是lambda x: x in [0, 2]。
skipfooter : int, default 0
文件底部要跳过的行数(engine= ' c '不支持)
nrows : int, default None
要读取的文件行数。用于读取大文件
na_values : scalar, str, list-like, or dict, default None
要识别为NA/NaN的其他字符串。如果传递了dict,每个列的特定NA值。他的默认值是NaN: ‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’.
keep_default_na : bool, default True
解析数据时是否包含默认的NaN值。根据是否传入na_values,行为如下:
•如果keep_default_na为真,并且指定了na_values,则na_valuesisappendeddefault NaN值用于解析。
•如果keep_default_na为真,并且没有指定na_values,那么解析时只使用默认的NaN值。
•如果keep_default_na为假,并且指定了na_values,那么解析时只使用经过特殊处理的NaN值。
•Ifkeep_default_naisFalse,和na_valuesnot指定,没有字符串被解析为NaN。
注意,如果na_filter作为False传入,那么keep_default_na和na_values参数将被忽略。
na_filter : boolean, default True
检测缺失的值标记(空字符串和na_values的值)。在没有任何NAs的数据中,传递na_filter=False可以提高读取大文件的性能

na_filter : boolean, default True
检测缺失的值标记(空字符串和na_values的值)。在没有任何NAs的数据中,传递na_filter=False可以提高读取大文件的性能
verbose : boolean, default False
表示放置在非数字列中的NA值的数量
skip_blank_lines : boolean, default True
如果为真,跳过空白行,而不是解释为NaN值
parse_dates : boolean or list of ints or names or list of lists or dict, default False

• boolean. 如果 True -> try 尝试解析索引。
• lint或name列表。例如,如果[1,2,3]->尝试将列1,2,3分别解析为单独的日期列。
• 列表的列表(list of lists)。例如,If[[1,3]] ->合并列1和列3并解析为单个日期列。
• dict。例如{' foo ':[1,3]} ->解析列1,3作为日期和调用结果' foo '。
更多参数见
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
返回的结果
DataFrame or TextParser

class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

二维尺寸可变的、可能是异构的表格数据结构,具有带标签的坐标轴(行和列)。算术操作在行和列标签上对齐。可以认为是系列对象的类似于dict的容器。主要的pandas数据结构。

参数:
data :
numpy ndarray(结构化或同构)、dict或DataFrame

Dict可以包含系列、数组、常量或类列表对象

在版本0.23.0中更改:如果数据是一个dict,则为Python 3.6和更高版本维护参数顺序。

index : Index or array-like
用于生成框架的索引。如果输入数据中没有索引信息,并且没有提供索引,那么是默认范围索引

columns : Index or array-like

用于生成框架的列标签。如果没有提供列标签,是否默认为RangeIndex(0,1,2,…,n)

dtype : dtype, default None

强制数据类型。只允许一个dtype。如果没有,推断出

copy : boolean, default False

从输入复制数据。只影响DataFrame / 2d ndarray输入

import pandas as pd
d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
print df
print df.dtypes

   col1  col2
0     1     3
1     2     4
col1    int64
col2    int64
dtype: object
import pandas as pd
import numpy as np
df2 = pd.DataFrame(np.random.randint(low=0, high=10, size=(5, 5)),columns=['a', 'b', 'c', 'd', 'e'])
print df2
   a  b  c  d  e
0  3  5  0  2  0
1  7  6  2  7  3
2  6  1  6  1  2
3  5  7  8  0  2
4  9  7  9  9  6

df2["e"]
0    0
1    3
2    2
3    2
4    6
Name: e, dtype: int64

属性:
T 转置索引和列。
at 访问行/列标签对的单个值。
axes 返回一个表示DataFrame轴的列表。
blocks (DEPRECATED) 内部属性,as_blocks()的属性同义词
columns DataFrame的列标签。
dtypes 返回DataFrame中的dtype。
empty 指示DataFrame是否为空。
ftypes 返回DataFrame中的ftypes(显示稀疏/稠密和dtype)。
iat 按整数位置访问行/列对的单个值。
iloc 纯粹基于整数位置的基于位置的选择索引。
index DataFrame的索引(行标签)。
ix 主要基于标签位置的索引器,具有整数位置回退功能。
loc 通过标签或布尔数组访问一组行和列。
ndim 返回一个表示轴/数组维数的int数。
shape 返回一个表示DataFrame的维数的元组。
size 返回一个表示该对象中元素数量的int数。
style 属性返回一个Styler对象,该对象包含用于构建DataFrame的样式HTML表示的方法。
values 返回DataFrame的Numpy表示。

Categorical Data
这是pandas分类数据类型的介绍,包括与R因子的简短比较。
分类是与统计中的分类变量相对应的pandas数据类型。分类变量具有有限的、通常是固定的可能值(类别;例如性别、社会阶层、血型、国籍、观察时间或李克特量表评分。

与统计分类变量相反,分类数据可能有一个顺序(例如“非常同意”vs“同意”或者“第一次观察”vs“第二次观察”),但是数值运算(加法、除法、…)是不可能的。
分类数据的所有值都在categories或np.nan中。顺序是由类别的顺序定义的,而不是由值的词法顺序定义的。在内部,数据结构由一个categories数组和一个整数代码数组组成,该数组指向categories数组中的实际值。

分类数据类型在以下情况下非常有用:

一个字符串变量,仅由几个不同的值组成。将这样的字符串变量转换为直言变量将节省一些内存
变量的词法顺序与逻辑顺序(“1”、“2”、“3”)不一样。通过转换到类别并指定类别的顺序,sort和min/max将使用逻辑顺序而不是词汇顺序
作为对其他Python库的一个信号,这个列应该被当作一个分类变量(例如,使用合适的统计方法或绘图类型)。
DataFrame中的category Series 或列可以通过几种方式创建:
在构建一个Series时,通过指定dtype="category":

s = pd.Series(["a","b","c","a"], dtype="category")
s
s
Out[2]: 
0    a
1    b
2    c
3    a
dtype: category
Categories (3, object): [a, b, c]

通过将现有的系列或列转换为类别dtype:

df = pd.DataFrame({"A":["a","b","c","a"]})
df["B"] = df["A"].astype('category')
df
A   B
0   a   a
1   b   b
2   c   c
3   a   a

通过使用特殊的函数,例如cut(),它将数据分组到离散的容器中。请参阅文档中的平铺示例。

df = pd.DataFrame({'value': np.random.randint(0, 100, 20)})
labels = ["{0} - {1}".format(i, i + 9) for i in range(0, 100, 10)]
df['group'] = pd.cut(df.value, range(0, 105, 10), right=False, labels=labels)
df.head(10)
    value   group
0   7   0 - 9
1   17  10 - 19
2   97  90 - 99
3   62  60 - 69
4   3   0 - 9
5   76  70 - 79
6   50  50 - 59
7   61  60 - 69
8   8   0 - 9
9   45  40 - 49

更多见
https://pandas.pydata.org/pandas-docs/stable/categorical.html?highlight=categories

pandas.DataFrame.values
返回DataFrame的Numpy表示。

只有DataFrame中的值会返回,ax标签会被删除。

返回:
numpy.ndarray
DataFrame的值。

pandas.DataFrame.index
检索索引标签
pandas.DataFrame.columns
检索列名

import pandas as pd
x="name,age,result\n'zhangsang',32,1\n'lisi',29,2\n'wangwu',30,1"
df=pd.read_csv(StringIO.StringIO(x))
print df
print df.index
print df.columns
          name  age  result
0  'zhangsang'   32       1
1       'lisi'   29       2
2     'wangwu'   30       1
RangeIndex(start=0, stop=3, step=1)
Index([u'name', u'age', u'result'], dtype='object')

dtype将是一个较低的公共类型(隐式向上转换);也就是说,如果dtype(甚至是数字类型)是混合,就会选择容纳所有类型的dtype。如果您没有处理这些块,请小心使用。

例如,如果dtype是float16和float32,那么dtype将向上转换为float32。如果dtype为int32和uint8,则dtype将被向上转换为int32。通过numpy.find_common_type()转换,混合int64和uint64将产生float64 dtype。

df = pd.DataFrame({'age':    [ 3,  29],
                  'height': [94, 170],
                  'weight': [31, 115]}
                 )
print df
print df.dtypes
print df.values
   age  height  weight
0    3      94      31
1   29     170     115
age       int64
height    int64
weight    int64
dtype: object
[[  3  94  31]
 [ 29 170 115]]

下面的代码提取特征列和结果列

import pandas as pd
x="name,age,result\n'zhangsang',32,1\n'lisi',29,2\n'wangwu',30,1"
df=pd.read_csv(StringIO.StringIO(x))
data=df.values
print df
print data
dataColName=df.columns
print dataColName[-1]
print dataColName[:len(dataColName)-1]

          name  age  result
0  'zhangsang'   32       1
1       'lisi'   29       2
2     'wangwu'   30       1
[["'zhangsang'" 32 1]
 ["'lisi'" 29 2]
 ["'wangwu'" 30 1]]
result
Index([u'name', u'age'], dtype='object')
import pandas as pd
x="name,age,result\n'zhangsang',32,1\n'lisi',29,2\n'wangwu',30,1"
df=pd.read_csv(StringIO.StringIO(x))
print df
print
data=df.values
dataColName=df.columns
ftColName=dataColName[-1]
rsColName=list(dataColName[:len(dataColName)-1])
print df[ftColName].values
print df[rsColName].values

          name  age  result
0  'zhangsang'   32       1
1       'lisi'   29       2
2     'wangwu'   30       1

[1 2 1]
[["'zhangsang'" 32]
 ["'lisi'" 29]
 ["'wangwu'" 30]]

读取葡萄酒质量样本数据

import pandas as pd
df=pd.read_csv("winequality-white-test.csv",sep=";")
print df
print
data=df.values
dataColName=df.columns
rsColName=dataColName[-1]
ftColName=list(dataColName[:len(dataColName)-1])

print df[rsColName].values
print '===='
print df[ftColName].values
 fixedacidity  volatileacidity  citricacid  residualsugar  chlorides  \
0            6.8            0.220        0.24           4.90      0.092   
1            6.0            0.190        0.26          12.40      0.048   
2            7.0            0.470        0.07           1.10      0.035   
3            6.6            0.380        0.15           4.60      0.044   
4            7.2            0.240        0.27           1.40      0.038   
5            6.2            0.350        0.03           1.20      0.064   
6            6.4            0.260        0.24           6.40      0.040   
7            6.7            0.250        0.13           1.20      0.041   
8            6.7            0.230        0.31           2.10      0.046   
9            7.4            0.240        0.29          10.10      0.050   
10           6.2            0.270        0.43           7.80      0.056   
11           6.8            0.300        0.23           4.60      0.061   
12           6.0            0.270        0.28           4.80      0.063   
13           8.6            0.230        0.46           1.00      0.054   
14           6.7            0.230        0.31           2.10      0.046   
15           7.4            0.240        0.29          10.10      0.050   
16           7.1            0.180        0.36           1.40      0.043   
17           7.0            0.320        0.34           1.30      0.042   
18           7.4            0.180        0.30           8.80      0.064   
19           6.7            0.540        0.28           5.40      0.060   
20           6.8            0.220        0.31           1.40      0.053   
21           7.1            0.200        0.34          16.00      0.050   
22           7.1            0.340        0.20           6.10      0.063   
23           7.3            0.220        0.30           8.20      0.047   
24           7.1            0.430        0.61          11.80      0.045   
25           7.1            0.440        0.62          11.80      0.044   
26           7.2            0.390        0.63          11.00      0.044   
27           6.8            0.250        0.31          13.30      0.050   
28           7.1            0.430        0.61          11.80      0.045   
29           7.1            0.440        0.62          11.80      0.044   
30           7.2            0.390        0.63          11.00      0.044   
31           6.1            0.270        0.43           7.50      0.049   
32           6.9            0.240        0.33           1.70      0.035   
33           6.9            0.210        0.33           1.80      0.034   
34           7.5            0.170        0.32           1.70      0.040   
35           7.1            0.260        0.29          12.40      0.044   
36           6.0            0.340        0.66          15.90      0.046   
37           8.6            0.265        0.36           1.20      0.034   
38           9.8            0.360        0.46          10.50      0.038   
39           6.0            0.340        0.66          15.90      0.046   
40           7.4            0.250        0.37          13.50      0.060   
41           7.1            0.120        0.32           9.60      0.054   
42           6.0            0.210        0.24          12.10      0.050   
43           7.5            0.305        0.40          18.90      0.059   
44           7.4            0.250        0.37          13.50      0.060   
45           7.3            0.130        0.32          14.40      0.051   
46           7.1            0.120        0.32           9.60      0.054   
47           7.1            0.230        0.35          16.50      0.040   
48           7.1            0.230        0.35          16.50      0.040   
49           6.9            0.330        0.28           1.30      0.051   
50           6.5            0.170        0.54           8.50      0.082   
51           7.2            0.270        0.46          18.75      0.052   
52           7.2            0.310        0.50          13.30      0.056   
53           6.7            0.410        0.34           9.20      0.049   
54           6.7            0.410        0.34           9.20      0.049   
55           5.5            0.485        0.00           1.50      0.065   

    freesulfurdioxide  totalsulfurdioxide  density    pH  sulphates  alcohol  \
0                30.0               123.0   0.9951  3.03       0.46      8.6   
1                50.0               147.0   0.9972  3.30       0.36      8.9   
2                17.0               151.0   0.9910  3.02       0.34     10.5   
3                25.0                78.0   0.9931  3.11       0.38     10.2   
4                31.0               122.0   0.9927  3.15       0.46     10.3   
5                29.0               120.0   0.9934  3.22       0.54      9.1   
6                27.0               124.0   0.9903  3.22       0.49     12.6   
7                81.0               174.0   0.9920  3.14       0.42      9.8   
8                30.0                96.0   0.9926  3.33       0.64     10.7   
9                21.0               105.0   0.9962  3.13       0.35      9.5   
10               48.0               244.0   0.9956  3.10       0.51      9.0   
11               50.5               238.5   0.9958  3.32       0.60      9.5   
12               31.0               201.0   0.9964  3.69       0.71     10.0   
13                9.0                72.0   0.9941  2.95       0.49      9.1   
14               30.0                96.0   0.9926  3.33       0.64     10.7   
15               21.0               105.0   0.9962  3.13       0.35      9.5   
16               31.0                87.0   0.9898  3.26       0.37     12.7   
17               20.0                69.0   0.9912  3.31       0.65     12.0   
18               26.0               103.0   0.9961  2.94       0.56      9.3   
19               21.0               105.0   0.9949  3.27       0.37      9.0   
20               34.0               114.0   0.9929  3.39       0.77     10.6   
21               51.0               166.0   0.9985  3.21       0.60      9.2   
22               47.0               164.0   0.9946  3.17       0.42     10.0   
23               42.0               207.0   0.9966  3.33       0.46      9.5   
24               54.0               155.0   0.9974  3.11       0.45      8.7   
25               52.0               152.0   0.9975  3.12       0.46      8.7   
26               55.0               156.0   0.9974  3.09       0.44      8.7   
27               69.0               202.0   0.9972  3.22       0.48      9.7   
28               54.0               155.0   0.9974  3.11       0.45      8.7   
29               52.0               152.0   0.9975  3.12       0.46      8.7   
30               55.0               156.0   0.9974  3.09       0.44      8.7   
31               65.0               243.0   0.9957  3.12       0.47      9.0   
32               47.0               136.0   0.9900  3.26       0.40     12.6   
33               48.0               136.0   0.9899  3.25       0.41     12.6   
34               51.0               148.0   0.9916  3.21       0.44     11.5   
35               62.0               240.0   0.9969  3.04       0.42      9.2   
36               26.0               164.0   0.9979  3.14       0.50      8.8   
37               15.0                80.0   0.9913  2.95       0.36     11.4   
38                4.0                83.0   0.9956  2.89       0.30     10.1   
39               26.0               164.0   0.9979  3.14       0.50      8.8   
40               52.0               192.0   0.9975  3.00       0.44      9.1   
41               64.0               162.0   0.9962  3.40       0.41      9.4   
42               55.0               164.0   0.9970  3.34       0.39      9.4   
43               44.0               170.0   1.0000  2.99       0.46      9.0   
44               52.0               192.0   0.9975  3.00       0.44      9.1   
45               34.0               109.0   0.9974  3.20       0.35      9.2   
46               64.0               162.0   0.9962  3.40       0.41      9.4   
47               60.0               171.0   0.9990  3.16       0.59      9.1   
48               60.0               171.0   0.9990  3.16       0.59      9.1   
49               37.0               187.0   0.9927  3.27       0.60     10.3   
50               64.0               163.0   0.9959  2.89       0.39      8.8   
51               45.0               255.0   1.0000  3.04       0.52      8.9   
52               68.0               195.0   0.9982  3.01       0.47      9.2   
53               29.0               150.0   0.9968  3.22       0.51      9.1   
54               29.0               150.0   0.9968  3.22       0.51      9.1   
55                8.0               103.0   0.9940  3.63       0.40      9.7   

    quality  
0         6  
1         6  
2         5  
3         6  
4         6  
5         5  
6         7  
7         5  
8         8  
9         5  
10        6  
11        5  
12        5  
13        6  
14        8  
15        5  
16        7  
17        7  
18        5  
19        5  
20        6  
21        6  
22        5  
23        6  
24        5  
25        6  
26        6  
27        6  
28        5  
29        6  
30        6  
31        5  
32        7  
33        7  
34        7  
35        6  
36        6  
37        7  
38        4  
39        6  
40        5  
41        5  
42        5  
43        5  
44        5  
45        6  
46        5  
47        6  
48        6  
49        5  
50        6  
51        5  
52        5  
53        5  
54        5  
55        4  

[6 6 5 6 6 5 7 5 8 5 6 5 5 6 8 5 7 7 5 5 6 6 5 6 5 6 6 6 5 6 6 5 7 7 7 6 6
 7 4 6 5 5 5 5 5 6 5 6 6 5 6 5 5 5 5 4]
====
[[6.800e+00 2.200e-01 2.400e-01 4.900e+00 9.200e-02 3.000e+01 1.230e+02
  9.951e-01 3.030e+00 4.600e-01 8.600e+00]
 [6.000e+00 1.900e-01 2.600e-01 1.240e+01 4.800e-02 5.000e+01 1.470e+02
  9.972e-01 3.300e+00 3.600e-01 8.900e+00]
 [7.000e+00 4.700e-01 7.000e-02 1.100e+00 3.500e-02 1.700e+01 1.510e+02
  9.910e-01 3.020e+00 3.400e-01 1.050e+01]
 [6.600e+00 3.800e-01 1.500e-01 4.600e+00 4.400e-02 2.500e+01 7.800e+01
  9.931e-01 3.110e+00 3.800e-01 1.020e+01]
 [7.200e+00 2.400e-01 2.700e-01 1.400e+00 3.800e-02 3.100e+01 1.220e+02
  9.927e-01 3.150e+00 4.600e-01 1.030e+01]
 [6.200e+00 3.500e-01 3.000e-02 1.200e+00 6.400e-02 2.900e+01 1.200e+02
  9.934e-01 3.220e+00 5.400e-01 9.100e+00]
 [6.400e+00 2.600e-01 2.400e-01 6.400e+00 4.000e-02 2.700e+01 1.240e+02
  9.903e-01 3.220e+00 4.900e-01 1.260e+01]
 [6.700e+00 2.500e-01 1.300e-01 1.200e+00 4.100e-02 8.100e+01 1.740e+02
  9.920e-01 3.140e+00 4.200e-01 9.800e+00]
 [6.700e+00 2.300e-01 3.100e-01 2.100e+00 4.600e-02 3.000e+01 9.600e+01
  9.926e-01 3.330e+00 6.400e-01 1.070e+01]
 [7.400e+00 2.400e-01 2.900e-01 1.010e+01 5.000e-02 2.100e+01 1.050e+02
  9.962e-01 3.130e+00 3.500e-01 9.500e+00]
 [6.200e+00 2.700e-01 4.300e-01 7.800e+00 5.600e-02 4.800e+01 2.440e+02
  9.956e-01 3.100e+00 5.100e-01 9.000e+00]
 [6.800e+00 3.000e-01 2.300e-01 4.600e+00 6.100e-02 5.050e+01 2.385e+02
  9.958e-01 3.320e+00 6.000e-01 9.500e+00]
 [6.000e+00 2.700e-01 2.800e-01 4.800e+00 6.300e-02 3.100e+01 2.010e+02
  9.964e-01 3.690e+00 7.100e-01 1.000e+01]
 [8.600e+00 2.300e-01 4.600e-01 1.000e+00 5.400e-02 9.000e+00 7.200e+01
  9.941e-01 2.950e+00 4.900e-01 9.100e+00]
 [6.700e+00 2.300e-01 3.100e-01 2.100e+00 4.600e-02 3.000e+01 9.600e+01
  9.926e-01 3.330e+00 6.400e-01 1.070e+01]
 [7.400e+00 2.400e-01 2.900e-01 1.010e+01 5.000e-02 2.100e+01 1.050e+02
  9.962e-01 3.130e+00 3.500e-01 9.500e+00]
 [7.100e+00 1.800e-01 3.600e-01 1.400e+00 4.300e-02 3.100e+01 8.700e+01
  9.898e-01 3.260e+00 3.700e-01 1.270e+01]
 [7.000e+00 3.200e-01 3.400e-01 1.300e+00 4.200e-02 2.000e+01 6.900e+01
  9.912e-01 3.310e+00 6.500e-01 1.200e+01]
 [7.400e+00 1.800e-01 3.000e-01 8.800e+00 6.400e-02 2.600e+01 1.030e+02
  9.961e-01 2.940e+00 5.600e-01 9.300e+00]
 [6.700e+00 5.400e-01 2.800e-01 5.400e+00 6.000e-02 2.100e+01 1.050e+02
  9.949e-01 3.270e+00 3.700e-01 9.000e+00]
 [6.800e+00 2.200e-01 3.100e-01 1.400e+00 5.300e-02 3.400e+01 1.140e+02
  9.929e-01 3.390e+00 7.700e-01 1.060e+01]
 [7.100e+00 2.000e-01 3.400e-01 1.600e+01 5.000e-02 5.100e+01 1.660e+02
  9.985e-01 3.210e+00 6.000e-01 9.200e+00]
 [7.100e+00 3.400e-01 2.000e-01 6.100e+00 6.300e-02 4.700e+01 1.640e+02
  9.946e-01 3.170e+00 4.200e-01 1.000e+01]
 [7.300e+00 2.200e-01 3.000e-01 8.200e+00 4.700e-02 4.200e+01 2.070e+02
  9.966e-01 3.330e+00 4.600e-01 9.500e+00]
 [7.100e+00 4.300e-01 6.100e-01 1.180e+01 4.500e-02 5.400e+01 1.550e+02
  9.974e-01 3.110e+00 4.500e-01 8.700e+00]
 [7.100e+00 4.400e-01 6.200e-01 1.180e+01 4.400e-02 5.200e+01 1.520e+02
  9.975e-01 3.120e+00 4.600e-01 8.700e+00]
 [7.200e+00 3.900e-01 6.300e-01 1.100e+01 4.400e-02 5.500e+01 1.560e+02
  9.974e-01 3.090e+00 4.400e-01 8.700e+00]
 [6.800e+00 2.500e-01 3.100e-01 1.330e+01 5.000e-02 6.900e+01 2.020e+02
  9.972e-01 3.220e+00 4.800e-01 9.700e+00]
 [7.100e+00 4.300e-01 6.100e-01 1.180e+01 4.500e-02 5.400e+01 1.550e+02
  9.974e-01 3.110e+00 4.500e-01 8.700e+00]
 [7.100e+00 4.400e-01 6.200e-01 1.180e+01 4.400e-02 5.200e+01 1.520e+02
  9.975e-01 3.120e+00 4.600e-01 8.700e+00]
 [7.200e+00 3.900e-01 6.300e-01 1.100e+01 4.400e-02 5.500e+01 1.560e+02
  9.974e-01 3.090e+00 4.400e-01 8.700e+00]
 [6.100e+00 2.700e-01 4.300e-01 7.500e+00 4.900e-02 6.500e+01 2.430e+02
  9.957e-01 3.120e+00 4.700e-01 9.000e+00]
 [6.900e+00 2.400e-01 3.300e-01 1.700e+00 3.500e-02 4.700e+01 1.360e+02
  9.900e-01 3.260e+00 4.000e-01 1.260e+01]
 [6.900e+00 2.100e-01 3.300e-01 1.800e+00 3.400e-02 4.800e+01 1.360e+02
  9.899e-01 3.250e+00 4.100e-01 1.260e+01]
 [7.500e+00 1.700e-01 3.200e-01 1.700e+00 4.000e-02 5.100e+01 1.480e+02
  9.916e-01 3.210e+00 4.400e-01 1.150e+01]
 [7.100e+00 2.600e-01 2.900e-01 1.240e+01 4.400e-02 6.200e+01 2.400e+02
  9.969e-01 3.040e+00 4.200e-01 9.200e+00]
 [6.000e+00 3.400e-01 6.600e-01 1.590e+01 4.600e-02 2.600e+01 1.640e+02
  9.979e-01 3.140e+00 5.000e-01 8.800e+00]
 [8.600e+00 2.650e-01 3.600e-01 1.200e+00 3.400e-02 1.500e+01 8.000e+01
  9.913e-01 2.950e+00 3.600e-01 1.140e+01]
 [9.800e+00 3.600e-01 4.600e-01 1.050e+01 3.800e-02 4.000e+00 8.300e+01
  9.956e-01 2.890e+00 3.000e-01 1.010e+01]
 [6.000e+00 3.400e-01 6.600e-01 1.590e+01 4.600e-02 2.600e+01 1.640e+02
  9.979e-01 3.140e+00 5.000e-01 8.800e+00]
 [7.400e+00 2.500e-01 3.700e-01 1.350e+01 6.000e-02 5.200e+01 1.920e+02
  9.975e-01 3.000e+00 4.400e-01 9.100e+00]
 [7.100e+00 1.200e-01 3.200e-01 9.600e+00 5.400e-02 6.400e+01 1.620e+02
  9.962e-01 3.400e+00 4.100e-01 9.400e+00]
 [6.000e+00 2.100e-01 2.400e-01 1.210e+01 5.000e-02 5.500e+01 1.640e+02
  9.970e-01 3.340e+00 3.900e-01 9.400e+00]
 [7.500e+00 3.050e-01 4.000e-01 1.890e+01 5.900e-02 4.400e+01 1.700e+02
  1.000e+00 2.990e+00 4.600e-01 9.000e+00]
 [7.400e+00 2.500e-01 3.700e-01 1.350e+01 6.000e-02 5.200e+01 1.920e+02
  9.975e-01 3.000e+00 4.400e-01 9.100e+00]
 [7.300e+00 1.300e-01 3.200e-01 1.440e+01 5.100e-02 3.400e+01 1.090e+02
  9.974e-01 3.200e+00 3.500e-01 9.200e+00]
 [7.100e+00 1.200e-01 3.200e-01 9.600e+00 5.400e-02 6.400e+01 1.620e+02
  9.962e-01 3.400e+00 4.100e-01 9.400e+00]
 [7.100e+00 2.300e-01 3.500e-01 1.650e+01 4.000e-02 6.000e+01 1.710e+02
  9.990e-01 3.160e+00 5.900e-01 9.100e+00]
 [7.100e+00 2.300e-01 3.500e-01 1.650e+01 4.000e-02 6.000e+01 1.710e+02
  9.990e-01 3.160e+00 5.900e-01 9.100e+00]
 [6.900e+00 3.300e-01 2.800e-01 1.300e+00 5.100e-02 3.700e+01 1.870e+02
  9.927e-01 3.270e+00 6.000e-01 1.030e+01]
 [6.500e+00 1.700e-01 5.400e-01 8.500e+00 8.200e-02 6.400e+01 1.630e+02
  9.959e-01 2.890e+00 3.900e-01 8.800e+00]
 [7.200e+00 2.700e-01 4.600e-01 1.875e+01 5.200e-02 4.500e+01 2.550e+02
  1.000e+00 3.040e+00 5.200e-01 8.900e+00]
 [7.200e+00 3.100e-01 5.000e-01 1.330e+01 5.600e-02 6.800e+01 1.950e+02
  9.982e-01 3.010e+00 4.700e-01 9.200e+00]
 [6.700e+00 4.100e-01 3.400e-01 9.200e+00 4.900e-02 2.900e+01 1.500e+02
  9.968e-01 3.220e+00 5.100e-01 9.100e+00]
 [6.700e+00 4.100e-01 3.400e-01 9.200e+00 4.900e-02 2.900e+01 1.500e+02
  9.968e-01 3.220e+00 5.100e-01 9.100e+00]
 [5.500e+00 4.850e-01 0.000e+00 1.500e+00 6.500e-02 8.000e+00 1.030e+02
  9.940e-01 3.630e+00 4.000e-01 9.700e+00]]

pandas.DataFrame.values
返回DataFrame的Numpy表示。

只有DataFrame中的值会返回,ax标签会被删除。

返回:
numpy.ndarray
DataFrame的值。

pandas.DataFrame.index
检索索引标签
pandas.DataFrame.columns
检索列名

import pandas as pd
x="name,age,result\n'zhangsang',32,1\n'lisi',29,2\n'wangwu',30,1"
df=pd.read_csv(StringIO.StringIO(x))
print df
print df.index
print df.columns
          name  age  result
0  'zhangsang'   32       1
1       'lisi'   29       2
2     'wangwu'   30       1
RangeIndex(start=0, stop=3, step=1)
Index([u'name', u'age', u'result'], dtype='object')

dtype将是一个较低的公共类型(隐式向上转换);也就是说,如果dtype(甚至是数字类型)是混合,就会选择容纳所有类型的dtype。如果您没有处理这些块,请小心使用。

例如,如果dtype是float16和float32,那么dtype将向上转换为float32。如果dtype为int32和uint8,则dtype将被向上转换为int32。通过numpy.find_common_type()转换,混合int64和uint64将产生float64 dtype。

df = pd.DataFrame({'age':    [ 3,  29],
                  'height': [94, 170],
                  'weight': [31, 115]}
                 )
print df
print df.dtypes
print df.values
   age  height  weight
0    3      94      31
1   29     170     115
age       int64
height    int64
weight    int64
dtype: object
[[  3  94  31]
 [ 29 170 115]]

下面的代码提取特征列和结果列

import pandas as pd
x="name,age,result\n'zhangsang',32,1\n'lisi',29,2\n'wangwu',30,1"
df=pd.read_csv(StringIO.StringIO(x))
data=df.values
print df
print data
dataColName=df.columns
print dataColName[-1]
print dataColName[:len(dataColName)-1]

          name  age  result
0  'zhangsang'   32       1
1       'lisi'   29       2
2     'wangwu'   30       1
[["'zhangsang'" 32 1]
 ["'lisi'" 29 2]
 ["'wangwu'" 30 1]]
result
Index([u'name', u'age'], dtype='object')
import pandas as pd
x="name,age,result\n'zhangsang',32,1\n'lisi',29,2\n'wangwu',30,1"
df=pd.read_csv(StringIO.StringIO(x))
print df
print
data=df.values
dataColName=df.columns
ftColName=dataColName[-1]
rsColName=list(dataColName[:len(dataColName)-1])
print df[ftColName].values
print df[rsColName].values

          name  age  result
0  'zhangsang'   32       1
1       'lisi'   29       2
2     'wangwu'   30       1

[1 2 1]
[["'zhangsang'" 32]
 ["'lisi'" 29]
 ["'wangwu'" 30]]

读取葡萄酒质量样本数据

import pandas as pd
df=pd.read_csv("winequality-white-test.csv",sep=";")
print df
print
data=df.values
dataColName=df.columns
rsColName=dataColName[-1]
ftColName=list(dataColName[:len(dataColName)-1])

print df[rsColName].values
print '===='
print df[ftColName].values
 fixedacidity  volatileacidity  citricacid  residualsugar  chlorides  \
0            6.8            0.220        0.24           4.90      0.092   
1            6.0            0.190        0.26          12.40      0.048   
2            7.0            0.470        0.07           1.10      0.035   
3            6.6            0.380        0.15           4.60      0.044   
4            7.2            0.240        0.27           1.40      0.038   
5            6.2            0.350        0.03           1.20      0.064   
6            6.4            0.260        0.24           6.40      0.040   
7            6.7            0.250        0.13           1.20      0.041   
8            6.7            0.230        0.31           2.10      0.046   
9            7.4            0.240        0.29          10.10      0.050   
10           6.2            0.270        0.43           7.80      0.056   
11           6.8            0.300        0.23           4.60      0.061   
12           6.0            0.270        0.28           4.80      0.063   
13           8.6            0.230        0.46           1.00      0.054   
14           6.7            0.230        0.31           2.10      0.046   
15           7.4            0.240        0.29          10.10      0.050   
16           7.1            0.180        0.36           1.40      0.043   
17           7.0            0.320        0.34           1.30      0.042   
18           7.4            0.180        0.30           8.80      0.064   
19           6.7            0.540        0.28           5.40      0.060   
20           6.8            0.220        0.31           1.40      0.053   
21           7.1            0.200        0.34          16.00      0.050   
22           7.1            0.340        0.20           6.10      0.063   
23           7.3            0.220        0.30           8.20      0.047   
24           7.1            0.430        0.61          11.80      0.045   
25           7.1            0.440        0.62          11.80      0.044   
26           7.2            0.390        0.63          11.00      0.044   
27           6.8            0.250        0.31          13.30      0.050   
28           7.1            0.430        0.61          11.80      0.045   
29           7.1            0.440        0.62          11.80      0.044   
30           7.2            0.390        0.63          11.00      0.044   
31           6.1            0.270        0.43           7.50      0.049   
32           6.9            0.240        0.33           1.70      0.035   
33           6.9            0.210        0.33           1.80      0.034   
34           7.5            0.170        0.32           1.70      0.040   
35           7.1            0.260        0.29          12.40      0.044   
36           6.0            0.340        0.66          15.90      0.046   
37           8.6            0.265        0.36           1.20      0.034   
38           9.8            0.360        0.46          10.50      0.038   
39           6.0            0.340        0.66          15.90      0.046   
40           7.4            0.250        0.37          13.50      0.060   
41           7.1            0.120        0.32           9.60      0.054   
42           6.0            0.210        0.24          12.10      0.050   
43           7.5            0.305        0.40          18.90      0.059   
44           7.4            0.250        0.37          13.50      0.060   
45           7.3            0.130        0.32          14.40      0.051   
46           7.1            0.120        0.32           9.60      0.054   
47           7.1            0.230        0.35          16.50      0.040   
48           7.1            0.230        0.35          16.50      0.040   
49           6.9            0.330        0.28           1.30      0.051   
50           6.5            0.170        0.54           8.50      0.082   
51           7.2            0.270        0.46          18.75      0.052   
52           7.2            0.310        0.50          13.30      0.056   
53           6.7            0.410        0.34           9.20      0.049   
54           6.7            0.410        0.34           9.20      0.049   
55           5.5            0.485        0.00           1.50      0.065   

    freesulfurdioxide  totalsulfurdioxide  density    pH  sulphates  alcohol  \
0                30.0               123.0   0.9951  3.03       0.46      8.6   
1                50.0               147.0   0.9972  3.30       0.36      8.9   
2                17.0               151.0   0.9910  3.02       0.34     10.5   
3                25.0                78.0   0.9931  3.11       0.38     10.2   
4                31.0               122.0   0.9927  3.15       0.46     10.3   
5                29.0               120.0   0.9934  3.22       0.54      9.1   
6                27.0               124.0   0.9903  3.22       0.49     12.6   
7                81.0               174.0   0.9920  3.14       0.42      9.8   
8                30.0                96.0   0.9926  3.33       0.64     10.7   
9                21.0               105.0   0.9962  3.13       0.35      9.5   
10               48.0               244.0   0.9956  3.10       0.51      9.0   
11               50.5               238.5   0.9958  3.32       0.60      9.5   
12               31.0               201.0   0.9964  3.69       0.71     10.0   
13                9.0                72.0   0.9941  2.95       0.49      9.1   
14               30.0                96.0   0.9926  3.33       0.64     10.7   
15               21.0               105.0   0.9962  3.13       0.35      9.5   
16               31.0                87.0   0.9898  3.26       0.37     12.7   
17               20.0                69.0   0.9912  3.31       0.65     12.0   
18               26.0               103.0   0.9961  2.94       0.56      9.3   
19               21.0               105.0   0.9949  3.27       0.37      9.0   
20               34.0               114.0   0.9929  3.39       0.77     10.6   
21               51.0               166.0   0.9985  3.21       0.60      9.2   
22               47.0               164.0   0.9946  3.17       0.42     10.0   
23               42.0               207.0   0.9966  3.33       0.46      9.5   
24               54.0               155.0   0.9974  3.11       0.45      8.7   
25               52.0               152.0   0.9975  3.12       0.46      8.7   
26               55.0               156.0   0.9974  3.09       0.44      8.7   
27               69.0               202.0   0.9972  3.22       0.48      9.7   
28               54.0               155.0   0.9974  3.11       0.45      8.7   
29               52.0               152.0   0.9975  3.12       0.46      8.7   
30               55.0               156.0   0.9974  3.09       0.44      8.7   
31               65.0               243.0   0.9957  3.12       0.47      9.0   
32               47.0               136.0   0.9900  3.26       0.40     12.6   
33               48.0               136.0   0.9899  3.25       0.41     12.6   
34               51.0               148.0   0.9916  3.21       0.44     11.5   
35               62.0               240.0   0.9969  3.04       0.42      9.2   
36               26.0               164.0   0.9979  3.14       0.50      8.8   
37               15.0                80.0   0.9913  2.95       0.36     11.4   
38                4.0                83.0   0.9956  2.89       0.30     10.1   
39               26.0               164.0   0.9979  3.14       0.50      8.8   
40               52.0               192.0   0.9975  3.00       0.44      9.1   
41               64.0               162.0   0.9962  3.40       0.41      9.4   
42               55.0               164.0   0.9970  3.34       0.39      9.4   
43               44.0               170.0   1.0000  2.99       0.46      9.0   
44               52.0               192.0   0.9975  3.00       0.44      9.1   
45               34.0               109.0   0.9974  3.20       0.35      9.2   
46               64.0               162.0   0.9962  3.40       0.41      9.4   
47               60.0               171.0   0.9990  3.16       0.59      9.1   
48               60.0               171.0   0.9990  3.16       0.59      9.1   
49               37.0               187.0   0.9927  3.27       0.60     10.3   
50               64.0               163.0   0.9959  2.89       0.39      8.8   
51               45.0               255.0   1.0000  3.04       0.52      8.9   
52               68.0               195.0   0.9982  3.01       0.47      9.2   
53               29.0               150.0   0.9968  3.22       0.51      9.1   
54               29.0               150.0   0.9968  3.22       0.51      9.1   
55                8.0               103.0   0.9940  3.63       0.40      9.7   

    quality  
0         6  
1         6  
2         5  
3         6  
4         6  
5         5  
6         7  
7         5  
8         8  
9         5  
10        6  
11        5  
12        5  
13        6  
14        8  
15        5  
16        7  
17        7  
18        5  
19        5  
20        6  
21        6  
22        5  
23        6  
24        5  
25        6  
26        6  
27        6  
28        5  
29        6  
30        6  
31        5  
32        7  
33        7  
34        7  
35        6  
36        6  
37        7  
38        4  
39        6  
40        5  
41        5  
42        5  
43        5  
44        5  
45        6  
46        5  
47        6  
48        6  
49        5  
50        6  
51        5  
52        5  
53        5  
54        5  
55        4  

[6 6 5 6 6 5 7 5 8 5 6 5 5 6 8 5 7 7 5 5 6 6 5 6 5 6 6 6 5 6 6 5 7 7 7 6 6
 7 4 6 5 5 5 5 5 6 5 6 6 5 6 5 5 5 5 4]
====
[[6.800e+00 2.200e-01 2.400e-01 4.900e+00 9.200e-02 3.000e+01 1.230e+02
  9.951e-01 3.030e+00 4.600e-01 8.600e+00]
 [6.000e+00 1.900e-01 2.600e-01 1.240e+01 4.800e-02 5.000e+01 1.470e+02
  9.972e-01 3.300e+00 3.600e-01 8.900e+00]
 [7.000e+00 4.700e-01 7.000e-02 1.100e+00 3.500e-02 1.700e+01 1.510e+02
  9.910e-01 3.020e+00 3.400e-01 1.050e+01]
 [6.600e+00 3.800e-01 1.500e-01 4.600e+00 4.400e-02 2.500e+01 7.800e+01
  9.931e-01 3.110e+00 3.800e-01 1.020e+01]
 [7.200e+00 2.400e-01 2.700e-01 1.400e+00 3.800e-02 3.100e+01 1.220e+02
  9.927e-01 3.150e+00 4.600e-01 1.030e+01]
 [6.200e+00 3.500e-01 3.000e-02 1.200e+00 6.400e-02 2.900e+01 1.200e+02
  9.934e-01 3.220e+00 5.400e-01 9.100e+00]
 [6.400e+00 2.600e-01 2.400e-01 6.400e+00 4.000e-02 2.700e+01 1.240e+02
  9.903e-01 3.220e+00 4.900e-01 1.260e+01]
 [6.700e+00 2.500e-01 1.300e-01 1.200e+00 4.100e-02 8.100e+01 1.740e+02
  9.920e-01 3.140e+00 4.200e-01 9.800e+00]
 [6.700e+00 2.300e-01 3.100e-01 2.100e+00 4.600e-02 3.000e+01 9.600e+01
  9.926e-01 3.330e+00 6.400e-01 1.070e+01]
 [7.400e+00 2.400e-01 2.900e-01 1.010e+01 5.000e-02 2.100e+01 1.050e+02
  9.962e-01 3.130e+00 3.500e-01 9.500e+00]
 [6.200e+00 2.700e-01 4.300e-01 7.800e+00 5.600e-02 4.800e+01 2.440e+02
  9.956e-01 3.100e+00 5.100e-01 9.000e+00]
 [6.800e+00 3.000e-01 2.300e-01 4.600e+00 6.100e-02 5.050e+01 2.385e+02
  9.958e-01 3.320e+00 6.000e-01 9.500e+00]
 [6.000e+00 2.700e-01 2.800e-01 4.800e+00 6.300e-02 3.100e+01 2.010e+02
  9.964e-01 3.690e+00 7.100e-01 1.000e+01]
 [8.600e+00 2.300e-01 4.600e-01 1.000e+00 5.400e-02 9.000e+00 7.200e+01
  9.941e-01 2.950e+00 4.900e-01 9.100e+00]
 [6.700e+00 2.300e-01 3.100e-01 2.100e+00 4.600e-02 3.000e+01 9.600e+01
  9.926e-01 3.330e+00 6.400e-01 1.070e+01]
 [7.400e+00 2.400e-01 2.900e-01 1.010e+01 5.000e-02 2.100e+01 1.050e+02
  9.962e-01 3.130e+00 3.500e-01 9.500e+00]
 [7.100e+00 1.800e-01 3.600e-01 1.400e+00 4.300e-02 3.100e+01 8.700e+01
  9.898e-01 3.260e+00 3.700e-01 1.270e+01]
 [7.000e+00 3.200e-01 3.400e-01 1.300e+00 4.200e-02 2.000e+01 6.900e+01
  9.912e-01 3.310e+00 6.500e-01 1.200e+01]
 [7.400e+00 1.800e-01 3.000e-01 8.800e+00 6.400e-02 2.600e+01 1.030e+02
  9.961e-01 2.940e+00 5.600e-01 9.300e+00]
 [6.700e+00 5.400e-01 2.800e-01 5.400e+00 6.000e-02 2.100e+01 1.050e+02
  9.949e-01 3.270e+00 3.700e-01 9.000e+00]
 [6.800e+00 2.200e-01 3.100e-01 1.400e+00 5.300e-02 3.400e+01 1.140e+02
  9.929e-01 3.390e+00 7.700e-01 1.060e+01]
 [7.100e+00 2.000e-01 3.400e-01 1.600e+01 5.000e-02 5.100e+01 1.660e+02
  9.985e-01 3.210e+00 6.000e-01 9.200e+00]
 [7.100e+00 3.400e-01 2.000e-01 6.100e+00 6.300e-02 4.700e+01 1.640e+02
  9.946e-01 3.170e+00 4.200e-01 1.000e+01]
 [7.300e+00 2.200e-01 3.000e-01 8.200e+00 4.700e-02 4.200e+01 2.070e+02
  9.966e-01 3.330e+00 4.600e-01 9.500e+00]
 [7.100e+00 4.300e-01 6.100e-01 1.180e+01 4.500e-02 5.400e+01 1.550e+02
  9.974e-01 3.110e+00 4.500e-01 8.700e+00]
 [7.100e+00 4.400e-01 6.200e-01 1.180e+01 4.400e-02 5.200e+01 1.520e+02
  9.975e-01 3.120e+00 4.600e-01 8.700e+00]
 [7.200e+00 3.900e-01 6.300e-01 1.100e+01 4.400e-02 5.500e+01 1.560e+02
  9.974e-01 3.090e+00 4.400e-01 8.700e+00]
 [6.800e+00 2.500e-01 3.100e-01 1.330e+01 5.000e-02 6.900e+01 2.020e+02
  9.972e-01 3.220e+00 4.800e-01 9.700e+00]
 [7.100e+00 4.300e-01 6.100e-01 1.180e+01 4.500e-02 5.400e+01 1.550e+02
  9.974e-01 3.110e+00 4.500e-01 8.700e+00]
 [7.100e+00 4.400e-01 6.200e-01 1.180e+01 4.400e-02 5.200e+01 1.520e+02
  9.975e-01 3.120e+00 4.600e-01 8.700e+00]
 [7.200e+00 3.900e-01 6.300e-01 1.100e+01 4.400e-02 5.500e+01 1.560e+02
  9.974e-01 3.090e+00 4.400e-01 8.700e+00]
 [6.100e+00 2.700e-01 4.300e-01 7.500e+00 4.900e-02 6.500e+01 2.430e+02
  9.957e-01 3.120e+00 4.700e-01 9.000e+00]
 [6.900e+00 2.400e-01 3.300e-01 1.700e+00 3.500e-02 4.700e+01 1.360e+02
  9.900e-01 3.260e+00 4.000e-01 1.260e+01]
 [6.900e+00 2.100e-01 3.300e-01 1.800e+00 3.400e-02 4.800e+01 1.360e+02
  9.899e-01 3.250e+00 4.100e-01 1.260e+01]
 [7.500e+00 1.700e-01 3.200e-01 1.700e+00 4.000e-02 5.100e+01 1.480e+02
  9.916e-01 3.210e+00 4.400e-01 1.150e+01]
 [7.100e+00 2.600e-01 2.900e-01 1.240e+01 4.400e-02 6.200e+01 2.400e+02
  9.969e-01 3.040e+00 4.200e-01 9.200e+00]
 [6.000e+00 3.400e-01 6.600e-01 1.590e+01 4.600e-02 2.600e+01 1.640e+02
  9.979e-01 3.140e+00 5.000e-01 8.800e+00]
 [8.600e+00 2.650e-01 3.600e-01 1.200e+00 3.400e-02 1.500e+01 8.000e+01
  9.913e-01 2.950e+00 3.600e-01 1.140e+01]
 [9.800e+00 3.600e-01 4.600e-01 1.050e+01 3.800e-02 4.000e+00 8.300e+01
  9.956e-01 2.890e+00 3.000e-01 1.010e+01]
 [6.000e+00 3.400e-01 6.600e-01 1.590e+01 4.600e-02 2.600e+01 1.640e+02
  9.979e-01 3.140e+00 5.000e-01 8.800e+00]
 [7.400e+00 2.500e-01 3.700e-01 1.350e+01 6.000e-02 5.200e+01 1.920e+02
  9.975e-01 3.000e+00 4.400e-01 9.100e+00]
 [7.100e+00 1.200e-01 3.200e-01 9.600e+00 5.400e-02 6.400e+01 1.620e+02
  9.962e-01 3.400e+00 4.100e-01 9.400e+00]
 [6.000e+00 2.100e-01 2.400e-01 1.210e+01 5.000e-02 5.500e+01 1.640e+02
  9.970e-01 3.340e+00 3.900e-01 9.400e+00]
 [7.500e+00 3.050e-01 4.000e-01 1.890e+01 5.900e-02 4.400e+01 1.700e+02
  1.000e+00 2.990e+00 4.600e-01 9.000e+00]
 [7.400e+00 2.500e-01 3.700e-01 1.350e+01 6.000e-02 5.200e+01 1.920e+02
  9.975e-01 3.000e+00 4.400e-01 9.100e+00]
 [7.300e+00 1.300e-01 3.200e-01 1.440e+01 5.100e-02 3.400e+01 1.090e+02
  9.974e-01 3.200e+00 3.500e-01 9.200e+00]
 [7.100e+00 1.200e-01 3.200e-01 9.600e+00 5.400e-02 6.400e+01 1.620e+02
  9.962e-01 3.400e+00 4.100e-01 9.400e+00]
 [7.100e+00 2.300e-01 3.500e-01 1.650e+01 4.000e-02 6.000e+01 1.710e+02
  9.990e-01 3.160e+00 5.900e-01 9.100e+00]
 [7.100e+00 2.300e-01 3.500e-01 1.650e+01 4.000e-02 6.000e+01 1.710e+02
  9.990e-01 3.160e+00 5.900e-01 9.100e+00]
 [6.900e+00 3.300e-01 2.800e-01 1.300e+00 5.100e-02 3.700e+01 1.870e+02
  9.927e-01 3.270e+00 6.000e-01 1.030e+01]
 [6.500e+00 1.700e-01 5.400e-01 8.500e+00 8.200e-02 6.400e+01 1.630e+02
  9.959e-01 2.890e+00 3.900e-01 8.800e+00]
 [7.200e+00 2.700e-01 4.600e-01 1.875e+01 5.200e-02 4.500e+01 2.550e+02
  1.000e+00 3.040e+00 5.200e-01 8.900e+00]
 [7.200e+00 3.100e-01 5.000e-01 1.330e+01 5.600e-02 6.800e+01 1.950e+02
  9.982e-01 3.010e+00 4.700e-01 9.200e+00]
 [6.700e+00 4.100e-01 3.400e-01 9.200e+00 4.900e-02 2.900e+01 1.500e+02
  9.968e-01 3.220e+00 5.100e-01 9.100e+00]
 [6.700e+00 4.100e-01 3.400e-01 9.200e+00 4.900e-02 2.900e+01 1.500e+02
  9.968e-01 3.220e+00 5.100e-01 9.100e+00]
 [5.500e+00 4.850e-01 0.000e+00 1.500e+00 6.500e-02 8.000e+00 1.030e+02
  9.940e-01 3.630e+00 4.000e-01 9.700e+00]]
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Created on Fri Aug 10 16:13:29 2018
svm-葡萄酒质量预测
@author: [email protected]
@blog:https://blog.csdn.net/myhaspl
"""
import pandas as pd
import numpy as np
from sklearn import svm

testDf=pd.read_csv("winequality-white-test.csv",sep=";")
testData=testDf.values
wineDf=pd.read_csv("winequality-white.csv",sep=";")
wineData=wineDf.values

dataColName=wineDf.columns
rsColName=dataColName[-1]
ftColName=list(dataColName[:len(dataColName)-1])

testFeature=testDf[ftColName].values
testResult=testDf[rsColName].values
wineFeature=wineDf[ftColName].values
wineResult=wineDf[rsColName].values

clf = svm.SVC(gamma='scale')

clf.fit(wineFeature,wineResult)

y_pred=clf.predict(testFeature)
print y_pred
print testResult

[6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 5 6 6 6 6 6 5 6 6 6 5 6 6 6 5 5
 6 5 5 5 6 5 5 5 6 6 5 5 6 6 5 5 6 6 5]
[6 6 5 6 6 5 7 5 8 5 6 5 5 6 8 5 7 7 5 5 6 6 5 6 5 6 6 6 5 6 6 5 7 7 7 6 6
 7 4 6 5 5 5 5 5 6 5 6 6 5 6 5 5 5 5 4]

boolean to int

m = [True, False, True, True]
map(lambda x: 1 if x else 0, m)

[1, 0, 1, 1]
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Created on Fri Aug 10 16:13:29 2018
svm-葡萄酒质量预测
@author: [email protected]
@blog:https://blog.csdn.net/myhaspl
"""
import pandas as pd
import numpy as np
from sklearn import svm

testDf=pd.read_csv("winequality-white-test.csv",sep=";")
testData=testDf.values
wineDf=pd.read_csv("winequality-white.csv",sep=";")
wineData=wineDf.values

dataColName=wineDf.columns
rsColName=dataColName[-1]
ftColName=list(dataColName[:len(dataColName)-1])

testFeature=testDf[ftColName].values
testResult=testDf[rsColName].values
wineFeature=wineDf[ftColName].values
wineResult=wineDf[rsColName].values

clf = svm.SVC(gamma='scale')

clf.fit(wineFeature,wineResult)

y_pred=clf.predict(testFeature)
print y_pred
print testResult
predWine=np.equal(y_pred,testResult)
correctCount=float(sum(map(lambda x: 1 if x else 0, predWine)))
print "正确样本数:%d,总测试样本数:%d,正确率:%g"%(correctCount,len(testResult),correctCount/len(testResult))
[6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 5 6 6 6 6 6 5 6 6 6 5 6 6 6 5 5
 6 5 5 5 6 5 5 5 6 6 5 5 6 6 5 5 6 6 5]
[6 6 5 6 6 5 7 5 8 5 6 5 5 6 8 5 7 7 5 5 6 6 5 6 5 6 6 6 5 6 6 5 7 7 7 6 6
 7 4 6 5 5 5 5 5 6 5 6 6 5 6 5 5 5 5 4]
正确样本数:20,总测试样本数:56,正确率:0.357143

再来看看核函数
在这里插入图片描述

import pandas as pd
import numpy as np
from sklearn import svm

testDf=pd.read_csv("winequality-white-test.csv",sep=";")
testData=testDf.values
wineDf=pd.read_csv("winequality-white.csv",sep=";")
wineData=wineDf.values

dataColName=wineDf.columns
rsColName=dataColName[-1]
ftColName=list(dataColName[:len(dataColName)-1])

testFeature=testDf[ftColName].values
testResult=testDf[rsColName].values
wineFeature=wineDf[ftColName].values
wineResult=wineDf[rsColName].values

clf = svm.SVC(gamma='scale',kernel='sigmoid')

clf.fit(wineFeature,wineResult)

y_pred=clf.predict(testFeature)
print y_pred
print testResult
predWine=np.equal(y_pred,testResult)
correctCount=float(sum(map(lambda x: 1 if x else 0, predWine)))
print "正确样本数:%d,总测试样本数:%d,正确率:%g"%(correctCount,len(testResult),correctCount/len(testResult))
[6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6]
[6 6 5 6 6 5 7 5 8 5 6 5 5 6 8 5 7 7 5 5 6 6 5 6 5 6 6 6 5 6 6 5 7 7 7 6 6
 7 4 6 5 5 5 5 5 6 5 6 6 5 6 5 5 5 5 4]
正确样本数:21,总测试样本数:56,正确率:0.375

猜你喜欢

转载自blog.51cto.com/13959448/2326072