data_analysis 第一课

摘要:
安装后,您可以使用conda updateconda更新anaconda#如果没有传入时间字符串,它将返回Nonedefparse_Date:ifdate=='':returnNoneelse:returndt.strptime#将可能为空字符串或字符串类型的数据转换为整数或None。

1.anaconda的安装与使用

在官网下载anaconda的客户端,因为python有2和3之分,所以有两个版本可以供选择,由于该课程使用2作为开发工具,选择anaconda2下载安装。

安装好之后,可以使用 conda update conda 来进行对anaconda进行更新。

2.启动jupyter notebook

在anaconda2的命令窗口上使用cd命令进入放“.ipynb”文件的目录,然后使用 jupyter notebook xx.ipynb 命令启动jupyter。(使用tab键可以补全)

data_analysis 第一课第1张

3.如何使用jupyter notebook

jupyter notebook 作为课程教学之用非常方便,可以编辑文档,可以运行代码,掌握jupyter notebook 的使用方法和快捷键可以帮你事半功倍。

jupyter notebook 的快捷键,在界面中,按“H”键可以查看有哪些快捷键。

4.打开csv文件,进行数据处理

在处理csv文件时,我们需要进行模块导入,使用unicodecsv模块

然后定义一个reader函数,读取csv文件,例如:

def reader(file_csv):
  with open(file_csv,'rb') as f:
    reader = unicodecsv.DictReader(f)
    return list(reader)
enrollments = reader('enrollments.csv')

之后对读取的数据进行预处理:

from datetime import datetime as dt

# 将字符串格式的时间转为 Python datetime 类型的时间。
# 如果没有时间字符串传入,返回 None

def parse_date(date):
  if date == '':
    return None
  else:
    return dt.strptime(date, '%Y-%m-%d')

# 将可能是空字符串或字符串类型的数据转为 整型 或 None。

def parse_maybe_int(i):
  if i == '':
    return None
  else:
    return int(i)

# 清理 enrollments 表格中的数据类型

for enrollment in enrollments:
  enrollment['cancel_date'] = parse_date(enrollment['cancel_date'])
  enrollment['days_to_cancel'] = parse_maybe_int(enrollment['days_to_cancel'])
  enrollment['is_canceled'] = enrollment['is_canceled'] == 'True'
  enrollment['is_udacity'] = enrollment['is_udacity'] == 'True'
  enrollment['join_date'] = parse_date(enrollment['join_date'])

免责声明:文章转载自《data_analysis 第一课》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PHP中获取远程文件的三种方法zabbix添加邮件方式报警并实现分组报警的功能下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

springboot-quartz 实现动态添加,修改,删除,暂停,恢复等功能

任务相关信息:springboot-quartz普通任务与可传参任务 一、任务实体类 packagecloud.app.prod.home.quartz; importjava.io.Serializable; importjava.util.Date; /*** Author : YongBo Xie </br> * File Nam...

date——系统时间的命令

这是一个可以用各种姿势获得各种时间的命令。最近在写自动化定时脚本时学了一下。 参考:https://www.cnblogs.com/ginvip/p/6357378.html 比如: 利用crontab,每天输入日志到一个log中。 直接输入 date Fri Jul 5 16:38:56 CST 2019 星期  月  日  时:分:秒  时区  年...

ECSHOP模糊分词搜索和商品列表关键字飘红功能

ECSHOP联想下拉框 1、修改page_header.lbi模版文件,将搜索文本框修改为: <input name="keywords"type="text"id="keyword"value="<!--{if ($search_keywords neq "")}{$search_keywords|escape}--><!--...

MySQL入门笔记(二)

MySQL的数据类型、数据库操作、针对单表的操作以及简单的记录操作可参考:MySQL入门笔记(一) 五、子查询   子查询可简单地理解为查询中的查询,即子查询外部必然还有一层查询,并且这里的查询并非仅仅指SELECT的查询操作,而是包括INSERT、DELETE、SET等操作在内的所有操作。 1. 使用比较运算符的子查询 operand comparis...

oracle 理解执行计划

·BUFFER SORT是BUFFER却不是SORT 用AUTOTRACE查看执行的计划的同学常问到执行计划里的BUFFER SORT是什么意思,这里为什么要排序呢? BUFFER SORT不是一种排序,而是一种临时表的创建方式。BUFFER是执行计划想要表达的重点,是其操作: 在内存中存放一张临时表。SORT修饰BUFFER,表示具体在内存的什么地方存...

不升级Element-UI 版本为时间选择器增加标记功能

Element-UI里的date-picker是个优秀的时间选择器,支持的选项很多,定制型很强。不过date-picker在2.12版本之前并不支持自定义单元格样式,也就是2.12的cellClassName功能。所以如果使用了2.12之前的版本,那么你就无法直接去更改单元格的样式了,因此在日历上就无法标记出重要日期(比如放假安排)。 公司项目里用的Ele...