搭建数据分析环境主要包括使用anaconda管理包和环境;使用Jupyter notebook将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。Python基础知识包括关键点(数据类型、for循环、条件判断、函数)、模块和包、数据结构(队列、栈、排序字典、计数器)

一、环境搭建

一、anaconda

1.管理包:

conda list:列出已安装包

conda install pandas或pip install pandas:安装Pdans包

conda remove pandas:卸载包

conda update package_name:更新包

conda upgrade --all:更新所有包

conda search pandas:查找包

注:python环境、conda、anaconda也可看做包

2.管理环境

conda install nb_conda:安装nb_conda用于notebook自动关联nb_conda的环境。

(1)创建环境

conda create -n env_name package_names:env_name 是设置环境的名称(-n 是指该命令后面的env_name是你要创建环境的名称),package_names 是你要安装在创建环境中的包名称。

conda create -n py3 python=3 :创建名为py3的环境,同时指定python版本

(2)进入环境

activate my_env:

(3)离开环境

deactivate

(4)共享环境

conda env export > environment.yaml:以YAML文件形式,导出环境文件到“notebook工作文件夹”

conda env update -f=/path/to/environment.yml:在conda环境下更新

pip freeze > environment.txt:以txt文件形式,导出环境文件到“notebook工作文件夹”

pip install -r /path/requirements.txt:在python环境下更新

(5)列出环境

conda env list:列出创建的所有环境

(6)删除环境

conda env remove -n env_name

或conda remove -n env_name --all

3.报错处理

(1)创建环境报错时出现CondaHTTPError,详情如下图:

解决方法:

在conda安装好之后,默认的镜像是官方的,将官方镜像改为清华的的镜像。然后在用户home目录下,找到 .condarc 文件,以txt形式打开,删掉channels下面的 -defaults一行

二、Jupyter notebook

Jupyter notebook(http://jupyter.org/) 是一种 Web 应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。

1.环境搭建

conda install jupyter notebook或pip install jupyter notebook:在conda环境中安装jupyter notebook

conda install nb_conda:将conda中创建的环境自动关联到notebook中

conda install pyreadline:代码自动补全包(输入代码时按TAB键可自动补全)

2.启动

(1)windows开始菜单找notebook打开

(2)在终端输入 jupyter notebook,启动notebook服务器后,在浏览器中打开notebook页面地址:http://localhost:8888

3.操作

界面介绍files (文件)当前notebook工作文件夹中的所有文件和文件夹,running(运行)所有正在运行的notebook,管理notebook, cluster(集群)一般不会用,创建多个并行计算的内核

创建新的notebook,file-new-选择我已创建的环境py3,会弹出新的窗口,输入代码,ctrl+enter执行,

代码自动补全功能:输入部分代码后按tab键,可以联想带出

notebook重命名:file-rename或双击现有名称

运行所有代码:kemel-restart&run all

4.保存

查看已保存的文件:我的路径是C:\用户\hty,保存的的扩展名为.ipynb的文件

共享notebook:在notebook中file-download as:

(1)HTML文件:和客户分享我的数据分析成果

(2)python(.py):将数据分析成果嵌入到项目中

(3)markdown:在博客或文档中使用notebook

5.导入

upload-选择文件-上传

6.关闭

关闭notebook:首先保存notebook,在file选中文件复选框,单击close and Halt

关闭jupyter notebook:在终端按两次ctrl+c

二、掌握Python的4个关键点

1.数据

(1)字符串(String)

#定义字符串

Str1='python3'

Str2='数据分析'

#用%s格式化字符串

str='使用%s,进行%s' % ('Python3','数据分析')

(2)数值(Number)

#整型(Int)

str1=10

#浮点型(float)

str2=10.0

#复数 (complex)

str3=3.14j

(3)列表(List)

列表可以完成大多数集合类的数据结构实现。

#定义列表

skillList=['Excel','Python','Mysql','SPSS']

#列表长度

skillListLen=len(skillList)

#操作:增加

nameList.append('SAS')

#操作:删除

del skillList[1]

#操作:查询

skill1=skillList[0]

注:使用下标索引来访问列表中的值

skill2=skillList[1:3:1]

注:查找表中第2到3个元素(左闭右开),步长为1,

#操作:修改

nameList[0]='PyCharm'

(4)集合(Sets)

基本功能是进行成员关系测试和删除重复元素。

#定义集合

gafataSets={'腾讯','阿里巴巴','苹果','谷歌','Facebook','亚马逊','亚马逊'}

#操作:增加

stockSets=set()

stockSets.update(['腾讯','阿里巴巴','京东'])

注意定义空集合需使用set(),如stockSets=set()

#操作:删除

stockSets.discard('京东')

#操作:查询

txBool='腾讯' in stockSets

#操作:修改

stockSets.discard('京东')

stockSets.update(['京东'])

注意:先删除,再添加

(5)字典(Dictionary)

#定义字典

patientDict1={'01':'张一','02':'张二','03':'张三','04':'张四'}

patientDict2={'01':['张一','19','2型糖尿病', '好转'],

'02':['张二','29','1型糖尿病', '未见好转'],

'03':['张三','31','2型糖尿病', '显著好转'],

'04':['张四','25','1型糖尿病', '好转'],}

#操作:增加

patientDict2['05']=['张五','25','1型糖尿病', ‘显著好转']

#操作:修改

patientDict2['01']=['张一','19','2型糖尿病', '显著好转']

#容器操作:查询

patientList1=patientDict2['01']

注:根据key值查询

(6)布尔类型(bool)

True、False

注意:首字母大写;进行数值运算时True视为1,False视为0

(7)空值(None)

age=None

None在逻辑判断中为False

2.条件判断

#逻辑判断

scoreNum=9.1

if scoreNum >= 8:

print("我要去看这部电影")

else:

print("我不要去看这部电影")

#边界条件判断

nameList=['张一','张二','张三','张四']

if '张五' not in nameList:

print('列表中没有叫张五的病人')

else:

print('列表中有个叫张五的病人')

#多条件判断

age=int(input('请输入狗狗的年龄'))

if age < 0:

print('请重新输入')

elif age == 1:

print('狗狗的年龄是7岁')

elif age == 2:

print('狗狗的年龄是14岁')

else:

print('狗狗的年龄是',22+age*2,'岁')

3.for循环

#for循环

eatList=['吃第1次饭','吃第2次饭','吃第3次饭']

for i in eatList:

print(i)

案例:清洗GAFATA股票数据

#定义字典:6家公司(GAFATA)的股票

#key是公司名称,value是股票代码

gafataDict={'谷歌':'Goog','亚马逊':'aMZN','Facebook':'FB',

'苹果':'aapl','阿里巴巴':'BABA','腾讯':'0700'}

#将股票代码全部大写

for key,value in gafataDict.items():

#对股票代码转换成大写

newvalue=value.upper()

#将转换后新的股票代码赋值给对应的key

gafataDict[key]=newvalue

print(gafataDict)

#continue用于跳出当前循环

for key,value in gafataDict.items():

if(key=='苹果'):

continue

print(key,'当前股票代码为',value)

#break用于退出整个循环

for key,value in gatafaDict.items():

if (key=='腾讯'):

print('查找',key,'公司的代码是',value)

break

else:

print('当前公司:',key,',当前股票代码:',value)

4.函数

#定义函数

def add(x,y):

z=x+y

return z

#使用函数

a=1

b=2

c=add(x=a,y=b)

print('1和2相加等于',c)

# 函数参数:不可变数据类型(仅传递值)

# 函数参数:可变数据类型(传引用地址)

def changeInt(a):

a=a+1

b=1

print('调用函数之前b的值=',b)

changeInt(a=b)

print('调用函数之后b的值=',b)

#变量作用域

#局部作用域:只能在其被声明的函数内部访问

def test():

aStr='别理会他人闲言闲语,今日随他们,让他们说吧,你的机会将会到来,再来证明自己。'

三、模块和包

#引入内置模块sys

import sys

#引入第三方模块pandas

import pandas as pd

#文件路径

fileNameStr='C:\htyi\第2关零基础掌握人工智能核心语言Python\数据\病历数据.xlsx'

#读取excel数据

xl = pd.ExcelFile(fileNameStr)

#获取指定工作表(Sheet)名称的数据

patientDf = xl.parse('Sheet1')

四、数据结构

1.队列

#导入collections包

from collections import deque

#定义队列:排队吃饭人的编号

queue=deque(['001','002','003','04','005'])

#入队:在队列尾部插入元素

queue.append('006')

#出队:在队列头部删除元素

queue.popleft()

2.栈

#定义栈:浏览我个人知乎主页的顺序

stack=deque(['知乎动态','知乎回答','知乎文章'])

print(stack)

#入栈:在栈顶加入元素

stack.append('知乎专栏')

#出栈:将栈顶元素移除

stack.pop()

3.排序字典

#OrderedDict:按照插入key的顺序,对字典排序

from collections import OrderedDict

4.计数器

from collections import Counter

cDict = Counter('有一种鸟是永远也关不住的,因为他们的羽毛太光亮了。羽毛太光亮')

#字符串的出现次数

cDict['亮']

#出现次数最多的3个字符

cDict.most_common(3)

python环境下数据操作_数据分析环境搭建和Python基础知识相关推荐

  1. python复杂网络点图可视化_数据分析:R与Python怎么选?

    作者介绍 知春里@伟仔 不知名数据科学家. 持续写<数据分析>和<数据产品>的系列文章,欢迎关注. 01 选R还是Python? "球鞋是买阿迪还是买耐克?" ...

  2. 用于python环境下的数据操作_数据分析(一):环境搭建,以及初步操作文件

    1.准备工作 ①定义:用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论,对数据加以详细研究和概括总结的过程 ②环境部署,可以再pycharm中做也可以再jupyter中做 ③ju ...

  3. python变量下划线开头_一日一技:python中下划线在不同位置的作用

    在Python的变量名和方法名中,单下划线和双下划线都有各自的含义,有的仅仅是作为约定,用于提示开发人员,而有的则对Python解释器有特殊含义. 你可能有些疑惑,在Python中变量名和方法名中的单 ...

  4. uboot环境下mmc操作_【记录】将Uboot 2011.06中mmc驱动移植到uboot 1.1.6的过程

    [记录]将Uboot 2011.06中mmc驱动移植到uboot 1.1.6的过程 时间:2011-8-14 作者:crifan 联系方式:green-waste (at) 163.com 附上代码: ...

  5. python对excel数据统计_数据分析EPHS(4)-使用Excel和Python计算数列统计值

    前面环境都搞的差不多了,这次咱们进入实战篇,来计算一列的统计值.统计值主要有最大值.最小值.均值.标准差.中位数.四分位数.话不多说,直接进入正题. 本文介绍使用Excel和Python来计算上述统计 ...

  6. python后端还是数据分析好_数据分析和web后端选哪个 知乎

    数据分析和web后端选哪个 知乎以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 数据分析和web后端选哪个 知乎 WEB ...

  7. 张莉python 玩转数据答案_大学mooc2020年用Python玩转数据课后答案

    OLAP的基本概念不包括().A.度量属性B.维C.数据分析D.事务处理 综合国力的主要要素包括地理条件.自然条件.经济实力.人口.科技.军事实力.民族特征.国民的凝聚力. 假定MyClas为一个类, ...

  8. python将excel数据合并_在Excel中使用Python将每日数据合并为月度数据

    我想弄清楚如何将每天的日期组合成特定的月份,并将特定月份内每一天的数据相加.在 注意:我有一个巨大的列表,上面有每天的日期,但是我在这里放了一个小样本来简单地举例说明.在 文件名:(测试.xlsx)在 ...

  9. 张莉python 玩转数据答案_大学mooc2020年用Python玩转数据作业答案

    由命题p:"函数y=是奇函数",与命题q:"数列a,a2,a3,-, a n,-是等比数列"构成的复合命题中,下列判断正确的是() 以下正确命题的序号为­­­_ ...

最新文章

  1. putty-psftp
  2. Understanding Design And Development Job Titles--reference
  3. 【BZOJ3712】Fiolki(并查集重构树)
  4. 雅虎将于4月底关闭自助式广告测试
  5. flink shell的local模式(benv与senv的使用+处理报错的解决方案)
  6. exec和sp_executesql
  7. python打包库_Python 打包自己的库到 PYPI (可pip安装)
  8. 改变世界的5大常数,学过数学的人,这一辈子都不会忘记!
  9. Python2.x 和 Python3.x,如何选择?
  10. 徐州初中计算机学校排名2015,徐州初中学校排名,徐州重点初中排名详细榜单
  11. Mysql 行转列,列转行
  12. linux 红帽6系统下载,Red Hat Enterprise Linux 6.2 ISO 下载
  13. 升级 python 2.6.6 到 2.7.14 版本(pip工具安装)
  14. 从零开始学php 光盘,从零开始学PHP(第2版)(含DVD光盘1张)
  15. 用element-ui的走马灯carousel轻松实现自适应全屏banner图 解决el-carousel默认高度300问题  组件代码
  16. Ubuntu增加Swap分区大小
  17. angular第六天
  18. 芒果DB删除指定日期内数据
  19. cruzer php sandisk 闪迪u盘量产工具_sandisk量产工具(闪迪U盘量产工具)
  20. 函数IsValid()

热门文章

  1. MIMIC-iv官方SQL查询标注(简单基础篇)
  2. java jpress,使用JPress快速搭建系统
  3. 图解弗洛伊德算法(每一对顶点之间的最短路径问题)
  4. markdown教程
  5. 2014级学生程序设计学习大数据
  6. h5在线制作平台h5案例分享
  7. 解析android多语言与自定义字体
  8. 【论文阅读】3D-CVF: Generating Joint Camera and LiDAR Features Using Cross-View Spatial Feature Fusion for
  9. c语言输入12行怎么输入,c语言中,定义什么型别的变数能同时储存数字跟字元,怎么输入...
  10. 怎么简单快速的将多个中文文件转换成英文的名称