日常
今天很开心,在下午终于在windows上把digits搭起来了,看到了localhost:5000
那个界面差点眼泪都快出来了。这几天就是在到处填坑补坑,发现不行再重新跳出来继续补坑,就这样反反复复终于成功。额,有关这个搭建呢,我看了好多相关资料,从csdn到github和stack overflow,所以需要整理一下等几天才能写安装具体过程和贴上相关的借鉴博客链接,下面先上一张界面图吧。
好久都没活动,所以五点多太阳小点就去打了会儿球,还是需要经常锻炼一下的,这段时间没怎么动一打球身体就感觉跟不上。所以决定以后每天下午五点到七点怎么样也要出出汗,运动一下。
步入正题
从今天开始呢,我想开始写写数据分析的内容,环境呢是win10+python3.7+Spyder
(需要先下载anaconda,下载完成后会自带jupyter notebook和spyder等)。
当然喜欢用jupyter notebook也可以,按个人喜好。只是在数据分析时spyder中可以随时看到变量的内容,所以选择了spyder。
简单的python语法呀什么的我就不多重复了,反正需要调用什么模块,如果显示错误没有这个模块,就在cmd中用pip install +模块名安装即可(前提:环境变量中要写入python路径和python中Scripts的路径,有多个python环境的用python2/3 -m pip install +模块名)
先认识一下Spyder界面
最左边是项目管理窗口
中间的地方就是你编辑代码的地方
右边呢上面可以浏览变量,下面是控制台
讲一下最重要的一个模块–pandas
pandas呢主要有两种数据结构,序列(Series)和数据框(DataFrame)
它的两种数据结构都带有索引,也可以这么理解,序列就是带有索引的列表,而数据框就是序列组合起来。
光说不行,写点简单的代码理解一下
序列
#初识pandas的序列
#导入pandas模块
import pandas
#定义序列,通过data指定好数据,然后将定义好的序列赋值给x
x=pandas.Series(data=['a',True,3])
可以看到这个序列比列表多了一行索引(index),这里默认索引值是0,1,2……
如果想更改索引的名称可以在pandas.Series()中最后加入参数index=[’’,’’,’’]
在序列中我们定义的值叫values,索引叫index
所以有相应的x.values,x.index属性
对序列的增删改查
增加数据
增加和列表一样,还是x.append(),但是append的对象要是一个序列或者是数据框,不然会报错。
#对x增加数据
add=pandas.Series(['2'])
x.append(add)
#查看一下现在的x
print(x)
#重新对x赋值,再看一下x
x=x.append(add)
print(x)
可以看到一开始仅仅x.append(add)并没有改变x原有的数据,想成功添加必须对x重新赋值,用x=x.append(add),而且添加的数据都是加在最后面。
删除数据
删除数据用drop()方法,有三个常用的参数
labels 需要删除的索引
inplace 是否修改原序列,默认为False
errors labels不存在时的处理方式,默认为raise也就是提示有异常,也可以改为ignore不提示异常
#对x删除数据
x=x.drop(0)
print(x)
可以看到之前索引为0的值a和2从x中删除了,drop()中也可以输入列表删除多个索引的值。
更改索引或值
更改值只需要通过索引重新赋值
#修改x中的值
x[1]='False'
print(x)
看到索引1的值变成了False
对索引修改在初始赋值的时候把默认索引改为自己想要的就可以了
#修改x的索引值
x=pandas.Series(['False',3],index=['first','second'])
对值或者索引的查找
用in操作符或者isin()函数
#使用in关键字或者isin函数判断是否存在
print('first' in x.index)#查看'first'是否在x的序列中
print(2 in x.values)#查看2是否在x的值中
print(3 in x.values)#查看3是否在x的值中
print()
print(x.isin([2,'False']))#查看first和False是否在x的值中
print(x.isin([3,'False']))
最上面两行是序列x的内容,下面是结果。isin()是如果内容匹配到就在对应索引值处显示True,没匹配到就显示False。
结束
其实今天是准备把pandas序列,数据框和导入数据这些内容一次写完的,但是打球回来洗个澡吃完饭开始写,写到现在只写完序列部分,因为今天太累了所以临时改个标题,尴尬脸。明天没那么忙争取写完pandas部分,再补一篇介绍数据处理,明天还要早起去实验室,先去睡觉觉了,大家晚安哦。