python 读取结构化的txt

import pandas as pd
import matplotlib.pyplot as plt


dir = './'
train = pd.read_table(dir + 'train_20171215.txt',engine='python')
#print(train.info())  #查看字段的属性
print(train['day_of_week'].unique()) #查看字段有哪些不重复的值
plt.boxplot(train['cnt'])  #画箱型图
plt.show()
#查看数据分布
import seaborn as sns
color = sns.color_palette()
sns.set_style('darkgrid')
from scipy import stats
from scipy.stats import norm, skew
sns.distplot(train['cnt'], fit=norm)
plt.show()
#找出与目标最相关的变量X
plt.plot(train['date'],train['cnt'])
plt.show()
print(train['cnt'].describe()) #cnt字段的具体信息
#预测结果以mean square error作为评判标准,
#可以以统计数据去确定一下,这些统计数据,在评测函数的指标
from sklearn.metrics import mean_squared_error
train['25%'] = 221
train['50%'] = 351
train['75%'] = 496
train['median'] = train['cnt'].median()
train['mean'] = train['cnt'].mean()
print(mean_squared_error(train['cnt'],train['25%']))
print(mean_squared_error(train['cnt'],train['50%']))
print(mean_squared_error(train['cnt'],train['75%']))
print(mean_squared_error(train['cnt'],train['median']))
print(mean_squared_error(train['cnt'],train['mean']))
#开始对星期信息统计
monday = train[train['day_of_week']==7]
plt.plot(range(len(monday)),monday['cnt'])
plt.show()
#简单分析一下按照星期的评测分数
res = train.groupby(['day_of_week'],as_index=False).cnt.mean()
xx = train.merge(res,on=['day_of_week'])
print(xx.head())
print(mean_squared_error(xx['cnt_x'],xx['cnt_y']))
# 因为第一赛季只是预测与时间相关的cnt的数量
# 所以可以对数据以date和day_of_week进行数据合并
train = train.groupby(['date','day_of_week'],as_index=False).cnt.sum()
print(train)
plt.plot(train['day_of_week'],train['cnt'],'*')
plt.show()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值