数据挖掘学习小组之(Python基础篇)

2019-07-31 17:02:44 浏览数 (1)

第二周

Python,是唯一一个,我会写的语言!而数据挖掘学习小组,也选了Python。好开心!

第一周说了很多题外话,这周,就只写作业了。

Python环境配置

Python安装,有两种选择:

安装官方版本

官方版本对于Windows用户来说,不太友好。Python默认的pip在安装某些库的时候,很难。比如这次课程中提到的numpy与pandas。

如果你已经安装了官方版本,但有些库装不上的话,可以去这个网站找别人编译好的:https://www.lfd.uci.edu/~gohlke/pythonlibs/

安装其他发行版

这个选择就比较多了,可以选Python(x,y),也可以选Anaconda。我推荐Anaconda,毕竟,conda用起来太省心了。

安装Python库

pip

如果使用pip,可以按照如下方式进行安装:

代码语言:javascript复制
pip install pandas

但这个在Windows环境下不一定好使,因为库可能需要编译。这个时候,就需要到我刚才说的那个网站下载别人编译好的库。

conda

使用conda的话,如果网速允许,一切都会很顺畅。

代码语言:javascript复制
conda install pandas

不论是conda还是pip,都会自动解决包依赖,像yum/apt-get一样省心。比如pandas依赖numpy,你只需要在命令行中输入上面的命令。

基本语法

控制语句

控制语句与定义函数

代码语言:javascript复制
_list = range(10)
def func1(param):
    for i in param:
        if i%2 == 0:
            print(i,'是个偶数!')
        else:
            print(i,'是个奇数!')

func1(_list)

文件读写

以读写文本为例

代码语言:javascript复制
with open(r'文本路径','r') as txt:
    for i in txt.readlines():
        print(i)
代码语言:javascript复制
_list = range(1,11)
with open(r'文本路径','a ') as txt:
    for i in _list:
        txt.writelines('第%d行n'%(i))

基本数据结构

字典

借助字典,实现一下众数

代码语言:javascript复制
import numpy as np
#创建随机数组
s = np.random.randint(10,20,200)
#利用字典特性求众数
def d_mode(param):
    d = {}
    for i in param:
        if i in d:
            d[i] = d[i] 1
        else:
            d[i] = 1
    return max(d,key=lambda key:d[key])

print(d_mode(s))
集合
代码语言:javascript复制
import numpy as np
#创建随机数组
s = np.random.randint(10,20,200)
#利用set特性去个重
u_s = list(set(s))
print(u_s)

实践

描述性分析

这个内容,上次的作业已经写过了,就不再写了。

中位数

我也来实现一下吧!

代码语言:javascript复制
import numpy as np
#创建随机数组
s = np.random.randint(10,20,200)
def func2(param):
    param.sort()
    length = param.size
    if length % 2 == 0:
        return int((param[int(length/2)] param[int(length/2) 1])/2)
    else:
        return param[round(length/2)]
print(func2(s))

总结

第二周了,想想这一周真是充实,算上这一篇推送,公众号都实现周更了。 周一到周五,每天晚上抽了点时间,分享了一点自己擅长的技术。周末时间充足,适合给自己充电,学学数据挖掘的技术。

others

一个有趣的图,分享给大家!

0 人点赞