pandas(python)读取csv格式数据时header参数设置及其他事项

pandas(python)读取csv格式数据时header参数设置及其他事项

参考:padas 官方文档

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html#pandas.read_csv

pandas是如何识别或区分数据和表头名称的 ?

参考:https://blog.csdn.net/sinat_32872729/article/details/93025161

index_col 设置索引

对于index_col来说,若数据都是相同类型,比如数值型,则表示无index,输出默认index为0,1,2,…;若数据第一列为字符,其他列为数值,则会将第一列视为index;若设置index_col=False, 则表示无index(默认将0, 1, 2,…作为数据的index)

header设置表头

对header,当第一行为字符,则第一行(第一行第一列)数据 默认为表头;当第一行与其他数据类型相同时,也会把第一行当作表头,所以无表头时应设置header=None

parse_dates参数

将csv中的时间字符串转换成日期格式

【注】:read_csv()方法指定parse_dates会使得读取csv文件的时间大大增加

parse_dates=[0] 对第1列的数据进行解析

squeeze:

bool,默认为False。如果解析的数据只包含一列,则返回一个Series。

date_parser=parser

结合代码

def parser(x):
	return datetime.strptime('190'+x, '%Y-%m')  # time.strptime(date_string, format) #code 1 
	
	.....
	date_parser=parser #引用code 1  返回的 parser;

代码:

def parser(x):
	return datetime.strptime('190'+x, '%Y-%m')  # time.strptime(date_string, format)[0:])) 把data_string 按照format[]的形式格式化
	series = read_csv('shampoo-sales.csv', header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)
	print(series.head())  # head( )函数只能读取前五行数据

csv 文件: 显然,数据是有表头 “Month”,“Sales”

"Month","Sales"
"1-01",266.0
"1-02",145.9
"1-03",183.1
"1-04",119.3
"1-05",180.3
"1-06",168.5
"1-07",231.8
"1-08",224.5
"1-09",192.8
"1-10",122.9

执行后文件输出为:

Month              
1901-01-01    266.0
1901-02-01    145.9
1901-03-01    183.1
1901-04-01    119.3
1901-05-01    180.3
Name: Sales, dtype: float64

分析,输出的第一行Month 与header=0设置有关。

若把header=1,则第2行(第二行第一列)数据默认为表头, 1-01

输出如下:

1-01  # 表头
1901-02-01    145.9
1901-03-01    183.1
1901-04-01    119.3
1901-05-01    180.3
1901-06-01    168.5
Name: 266.0, dtype: float64

你可能感兴趣的:(神经网络)