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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010255642/article/details/83015783

继续读取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
用于生成框架的索引。如果输入数据中没有索引信息,并且没有提供索引,那么是默认范围索引

扫描二维码关注公众号,回复: 3676565 查看本文章

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

猜你喜欢

转载自blog.csdn.net/u010255642/article/details/83015783