前言
有人说数据资产是比石油更重要的一种资产... 看着数据挖掘这么热,也想跃跃欲试...
但是,机器学习、NLP、算法、统计学这么多要学的,不知道从何处开始。
我的答案是从自己动手开始,问题才是最好的老师,通过自己动手不断解决问题,才能让自己真正的开始入门。
而python就是其中非常好的工具,因为python语言非常简单,无编程基础也可直接上手开始工作,在不断处理问题的过程中学习知识才是最高效的学习方法。
本期就为大家带来python的入门知识,开发环境是jupyter。希望大家边学习,边自己动手练习,随着这些知识的学习,相信大家会很快发现python真的很简单。
1.Python 特性
1.1.#井号(#)用来添加注释。
1.2.python大小写敏感 a和A是两个不一样的变量。
1.3.缩进是有含义的,跟java的{}作用类似,用来圈定一段代码。
1.4.python目前有两个版本,新版本是3.6.5,旧版本是2.7.14,目前很多程序是python2开发的
本期也是以python2为例为大家讲解python基础知识。
划重点啦!
2.python 学习资料
Python官方网站:
https://www.python.org/doc/
python2官方手册:
https://docs.python.org/2/tutorial/index.html
Google机器学习课程,非常实用:
https://developers.google.cn/machine-learning/crash-course/
对照着sql学习pandas:
http://pandas.pydata.org/pandas-docs/stable/comparison_with_sql.html?highlight=order
廖雪峰python入门资料(中文)
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317793224211f408912d9c04f2eac4d2af0d5d3d7b2000
3.数据类型和变量
3.1 数字类型
输入
#整型(int)
(50 - 5*6) / 4
value = (50 - 5*6) / 4
value
type(value) #用type函数可以得到一个对象的类型
# type((50 - 5*6) / 4)
#浮点型(float)
# type(5/3)
float(5)/3
5.0/3
# 3*0.55
# 1+1.01
输入
# 数值计算
10 % 3 #除余
8 ** 2 #幂值计算
#格式转换函数
int(1.22) #取整,直接忽略小数,跟trunc函数功能一样
float(1)
float(5)/3
round(3.6) #四舍五入
import math #引入数值计算包
math.floor(3.6) #向下取整
math.ceil(3.2) #向上取整
math.trunc(3.5)
3
输出
3.2 文本类型
输入
#文本类型(str)
# 'Python'
# "Python"
#定义变量
a = 'Python'
type(a)
#文本链接
'py' + 'thon'
'py' 'thon'
#转义
"i'am Peter"
'i\'am Peter'
"i'am Peter"
输出
输入
# print a
# print 'py\nthon' #\n有换行的作用
len(a)
a = 'Python'
#索引
# a[0] #str类型的正向索引是从0开始的
a[-1] #str类型的负向索引是从-1开始的
a[4]
#切片
#语法格式 :var[lower:upper:step]
# a[0:3]
# a[-3:-1] #左闭右开区间 ,左小右大
# a[:]
# a[:-1]
a[-6::2]
# a[2:]
a[-1:]
a[1:1]
# a
#计算位数
len(a)
# len('我们') #一个汉字占3位
#str类型不支持修改 与int和float一样是基本类型,python对基本类型不支持修改
# a[2] = 'w'
6
输出
3.3 日期类型(也是不可变类型)
# 模块说明
# time
time是一个仅包含与日期和时间相关的函数和常量的模块,在本模块中定义了C/C++编写的几个类。
例如,struct_time类。
# datetime
datetime是一个使用面向对象编程设计的模块,可以在Python中使用日期和时间。它定义了几个表示日期和时间的类。
# calendar
日历是一个提供函数的模块,以及与Calendar相关的几个类,它们支持将日历映像生成为text,html,….
# locale
该模块包含用于格式化或基于区域设置分析日期和时间的函数。
输入
import time
# from time import time #可以直接导入time包里面的time函数
time.localtime() #当前时间
# time.strftime('%Y-%m-%d',time.localtime()) #时间转成文本格式
# time.strptime('Sat Feb 04 14:06:42 2017')
# time.strptime('2017-02-04', '%Y-%m-%d')
# time.strptime('201702041412', '%Y%m%d%H%M')
# time.asctime(time.localtime()
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=14, tm_min=12, tm_sec=0, tm_wday=5, tm_yday=35, tm_isdst=-1)
输出
输入
import datetime
# from datetime import time
datetime.today()
datetime.date(2018, 4, 19)
输出
输入
#获取日历
import calendar
print calendar.month(2020, 12)
calendar.isleap(2020) #是不是闰年
True
输出
3.4列表
#列表类型(list)
list1 = [1,2,3,4,'我','们',['a','b','c'],('A','B','C')] #可以理解成数组,但是元素的数据类型可以不一致
# type(list1)
#在实际的开发中强烈不建议在一个list中有不同的数据类型
#可以取出其中任何一个元素
list1[2]
list1[-2]
type(list1[2])
type(list1[5])
type(list1[-2])
#统计元素个数
len(list1)
#list操作
# list1 + ['E','F']
# list1= list1 + ['E','F']
# list1.append('F') #一次只能加入一个元素
# del list1[0]
# 2 in list1 #测试元素是否在list中
# list1.count(4) #测试元素个数
# list1.index(4) #元素所在位置
#list元素支持修改
# list1[1] =8
# print list1
# list1.sort() #排序
# list1.reverse() #list反转
# ?list1.sort #查看帮助
list1.sort?
# list1
欲知后事如何,请见下回分解!
走过路过,不要错过,我们将持续为您更新~
DIG
领取专属 10元无门槛券
私享最新 技术干货