数据工程基础实践实验

前言:我主要也是安照指导书来进行的,我只是把PDF中有些不便于学习的位置写到文章里


天池新人实战赛 o2o 优惠券使用预测,数据来源链接:
https://github.com/FNo0/o2o_dataset

安装 python anaconda
https://www.anaconda.com/download/

下载 pip 安装包,进入链接:
https://pypi.org/project/pip/#files

下载算法xgboost算法链接:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost

下载算法 lightgbm 算法链接:
https://pypi.org/project/lightgbm/#files


基础教学

1.像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
2.空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在 于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

任务代码

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x
result = my_abs(-2)
print(result)

结果:

2

任务代码

def person(name,age,**kw):
    print ('name:',name,'age',age,'other',kw)
person('Mich',30)
person('BOb',45,job='Ai')

结果:

name: Mich age 30 other {}
name: BOb age 45 other {'job': 'Ai'}

列表脚本操作符

Python结果描述
len([1,2,3])3长度
[1,2,3]+[4,5,6][1,2,3,4,5,6]组合
['Hi!']*4['Hi!','Hi!','Hi!','Hi!']重复
3 in [1,2,3]true元素是否存在于列表中
for x in [1,2,3]: print x1 2 3迭代

list包含以下函数

序号函数说明
1cmp(list1,list2) / list1 == list2比较两个列表
2len(list)列表元素个数
3max(list)返回列表最大值
4min(list)返回列表最小值
5list(seq)将元组转换为列表

list包含以下方法

序号方法描述
1list.append(obj)在列表末尾加入新元素
2list.count(obj)统计某个元素在列表中出现的次数
3list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用于新列表扩展原来的列表)
4list.index(obj)从列表中找出某个值第一个匹配项的索引位置
5list.insert(index,obj)将对象插入列表
6list.pop([index=-1])移除列表中的第一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj)移除列表中某个值的第一个匹配项
8list.reverse()返回列表中的元素
9list.sort(key=None,reverse=False)将原列表进行排序

字典内置函数

序号函数描述
1operator.eq(dict1,dict2)比较两个字典元素
2len(dict)计算字典元素个数,即键的总数
3str(dict)输出字典可打印的字符串表示
4type(variable)返回输入的变量类型,如果变量是字典就返回数据类型

字典内置方法

序号函数及其描述
1dict.clear() *删除字典内所有元素
2dict.copy() *返回一个字典的浅复制
3dict.fromkeys(seq[,val]) *创建一个新字典,以序列seq中的元素做字典的键,val为字典说有键对应的初始值
4dict.get(key,default=None)*创建一个新字典,以序列seq中的元素做字典的键,val为字典所有键对应的初始值
5dict.has key(key)*返回指定键的值,如果值不在字典中返回default值
6dict.items()* 如果键在字典dict里返回true,否则返回false
7dict.keys()* 以列表返回可遍历的(键,值)元组数组
8dict.setdefault(key,default=None)* 和get()类似,如果键不存在与字典中,将会添加键并将值设定为default
9dict.update(dict2)* 把字典dict2的键/值对更新到dict中
10dict.values()* 以列表返回字典中的所有值
11pop(key[,default])* 删除字典给定键Key所对应的值,返回值为被删除的值。Key值必须给出。否则返回default值。
12popitem()*随机返回并删除字典中的一对键和值

集合三大特征

确定性
无序性
互异性

Python set集合操作
Python符号含义
"-"差集
"&"交集
""并集
"!="不等于
"=="等于
"in"是成员关系
"not in"非成员关系

字符串格式

转义字符描述
\(在行尾时)续行符
\\反斜杠符号
\'单引号
\"双引号
\a响铃
\b退格
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,yy代表的字符
\xyy十六进制数
\other其它的字符以普通格式输出

字符串运算符
注释:a值为字符串“Hello”,b变量值为“Python”

操作符描述实例
+字符串连接>>>a+b 'HellowPython'
*重复输出字符串>>>a*2 'HellowHellow'
[]通过索引获取字符串中字符>>>a[1] 'e'
[:]截取字符串中的一部分>>>a[1:4] 'ell'
in成员运算符-如果字符串中包含给定的字符返回True>>>"H" in a True
not in成员运算符-如果字符串中不包含给定的字符返回True>>>"M" not in a True
r/R原始字符串-原始字符串:所有的字符串都是直接按字面的意思来使用,没有转义特殊或不能打印的字符。原始字符串除在字符串的第一个引号前加上字母“r”(可以大小写)以外,与普通字符串有着几乎完全相同的语法>>>print 啥就输出啥
%格式字符串参见下文
最后修改:2019 年 08 月 10 日 10 : 21 AM
如果觉得我的文章对你有帮助,可以给我来杯卡布其诺

发表评论