CSV数据准备的问题
1.read_csv()参数
from pandas import read_csv
from datetime import datetime
# load data
def parse(x):
return datetime.strptime(x, '%Y %m %d %H')
dataset = read_csv('raw.csv', parse_dates = [['year', 'month', 'day', 'hour']], index_col=0, date_parser=parse)
dataset.drop('No', axis=1, inplace=True)
# manually specify column names
dataset.columns = ['pollution', 'dew', 'temp', 'press', 'wnd_dir', 'wnd_spd', 'snow', 'rain']
dataset.index.name = 'date'
# mark all NA values with 0
dataset['pollution'].fillna(0, inplace=True)
# drop the first 24 hours
dataset = dataset[24:]
# summarize first 5 rows
print(dataset.head(5))
# save to file
dataset.to_csv('pollution.csv')
日期解析
datetime.strptime(x, ‘%Y %m %d %H’)
strptime():把str转换为datetime。
strftime():把datetime转换为str。
parse_dates = [[‘year’, ‘month’, ‘day’, ‘hour’]]
- [‘year’, ‘month’, ‘day’] -> 解析3列的值作为独立的日期列;
- [[‘year’, ‘month’, ‘day’]] -> 合并3列作为一个日期列使用
- {‘time’ : [‘year’, ‘month’, ‘day’]} -> 将1,3列合并,并给合并后的列起名为"time"
date_parser=parse
用于解析日期的函数。
【实际使用】日期可以设置为datetime格式,并设置为index。
df = pd.read_csv('laixi_day_finished.csv', encoding='utf-8', index_col='time')
df.index = pd.to_datetime(df.index)