以烂大街的华盛顿自行车数据为例,代码如下
import pandas as pd # 读取数据到DataFrame
import urllib # 获取网络数据
import tempfile # 创建临时文件系统
import shutil # 文件操作
import zipfile # 压缩解压
temp_dir = tempfile.mkdtemp() #建立临时目录
data_source = 'http://archive.ics.uci.edu/ml/machine-learning-databases/00275/Bike-Sharing-Dataset.zip' #获取网络数据
zipname = temp_dir + '/Bike-Sharing-Dataset.zip' #数据文件地址建立
try:
urllib.urlretrieve(data_source, zipname) # 获得python2.x数据
except:
urllib.request.urlretrieve(data_source, zipname) # 获得python3.x数据
zip_ref = zipfile.ZipFile(zipname, 'r') # 创建ZipFile对象处理压缩文件
zip_ref.extractall(temp_dir) # 解压文件
zip_ref.close()
daily_path = temp_dir + '/day.csv'# 文件路径
daily_data = pd.read_csv(daily_path) # 读取csv文件
daily_data['dteday'] = pd.to_datetime(daily_data['dteday']) # 把字符串数据传换成日期数据
drop_list = ['instant', 'season', 'yr', 'mnth', 'holiday', 'workingday', 'weathersit', 'atemp', 'hum'] # 删除不关注的列
daily_data.drop(drop_list, inplace = True, axis = 1) # inplace=true在对象上直接操作
shutil.rmtree(temp_dir) # 删除临时文件目录
daily_data.head()
数据头如下