python数据分析方法和命令_《利用Python进行数据分析》 —— (1)

《利用Python进行数据分析》 —— (1)

Python的学习需要自主探索各种类型,函数和方法的文档。

2.1 Python解释器

在IPython(Jupyter Qtconsole)上,可以通过%run命令执行文件中的代码

In [16]: %run hellow.py 1,2,3 10

1,2,3

10

2.2 IPython 基础

2.2.3 Tab补全

在搜索交互命名空间和补全对象或模块属性时有用

当输入任意路径时,按下Tab可以补全你的计算机文件系统中匹配你输入内容的值。(与%run命令搭配可以大大提升效率)

tab补全的另一个应用场景是在函数的关键词参数(包含=)

2.2.4 内省

在变量前后使用问号?,可以显示对象的信息:

In [17]: b = [1, 2, 3]

In [18]: b?

Type: list

String form: [1, 2, 3]

Length: 3

Docstring:

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list.

The argument must be an iterable if specified.

如果对象是一个函数或实例方法且文档字符串已经写好,则文档字符串会显示出来。

In [19]: def f(x):

"""

this is a function

"""

return x + 1

In [20]: f?

Signature: f(x)

Docstring: this is a function

File: d:\python_data\

Type: function

??可以显示源码

In [23]: f??

Signature: f(x)

Source:

def f(x):

"""

this is a function

"""

return x + 1

File: d:\python_data\

Type: function

?还有一个用途,就是像Unix或Windows命令行一样搜索IPython的命名空间。字符与通配符结合可以匹配所有的名字。

In [22]: np.fi*?

np.fill_diagonal

np.find_common_type

np.finfo

np.fix

2.2.5 %run命令

文件中所有定义的变量(import、函数和全 局变量,除非抛出异常)在运行后,都可以在IPython shell中随后访问:

假如Python脚本需要命令行提供参数(通过sys.argv获取),则需要在命令的文件路径后面加上参数进行传递。

import sys

fi = sys.argv[1]

se = sys.argv[2]

print(fi)

print(se)

"""

%run file.py [a1, a2, .., an] [b1, b2, .., bn]

"""

如果要在 Jupyter 中你想要将脚本导入一个代码单元,可以使用%load魔术函数。

通过Ctrl + C结束运行。

2.27 终端快捷键

Ctrl-P 或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令

Ctrl-N 或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令

Ctrl-R 按行读取的反向历史搜索(部分匹配)

Ctrl-Shift-v 从剪贴板粘贴文本

Ctrl-C 中止当前正在执行的代码

Ctrl-A 将光标移动到行首

Ctrl-E 将光标移动到行尾

Ctrl-K 删除从光标开始至行尾的文本

Ctrl-U 清除当前行的所有文本译注12

Ctrl-F 将光标向前移动一个字符

Ctrl-b 将光标向后移动一个字符

Ctrl-L 清屏

2.2.8 魔术命令

%magic展示

2.2.9 matplotlib集成

在IPython 中,%matplotlib

在Jupyter notebook 中, %matplotlib inline

2.3 Python语言基础

2.3.1.8 鸭子类型

有时候你不关心某个对象是什么类型,你只关心它是否拥有某个特殊的方法或行为。

例如你想验证一个对象是否实现了迭代器协议,那么它必须可以迭代。

def isiterable(obj):

try:

iter(obj)

return True

except TypeError: # 不可遍历

return False

通常在编写接受多种类型输入的函数时,可以使用这些功能。

eg:要接受任意序列类型(列表,元组,n维数组),你可以先判断是否为一个列表(或者为Numpy数组)否则将其转化为列表:

if not isinstance(x, list) and isiterable(x):

x = list(x)

2.3.1.10二元操作符

In [9]: a = [1, 2, 3]

In [10]: b = a

In [11]: c = list(a)

In [12]: a is b

Out[12]: True

In [13]: a is not c

Out[13]: True

值得注意的是list函数总是创建一个新的Python列表(即一份拷贝)。

且is和==是不同的,c is a为False,c == a为True。

还值得注意的是//整除符号。如果需要风格的整除除法(去除非整数部分的小数部分),则可以用整除操作符

2.3.2.2 字符串

字符串是不可以修改的!!

在遇到有大量反斜杠字符串时可以通过添加r"XXX"表明该字符串为原生字符。

字符串格式化,字符串拥有一个format方法。

例如:In [64]: template = '{0 : .2f} {1 : s}, are worth US${2 : d}'。在这字符串中

{0 : .2f} 表示格式化第一个参数为带有两位小数的浮点数。

{1 : s} 表示格式化第二个参数为字符串。

{2 : d} 表示格式化第三个参数为一个整数。

2.3.2.7 日期与时间

熟练掌握两个方法:

第一个strftime将datatime类型转为字符串:

In [102]: from datetime import datetime, date, time

In [103]: dt = datetime(2011, 10, 29, 20, 30, 21)

...

In [108]: dt.strftime('%m/%d/%Y %H:%M')

Out[108]: '10/29/2011 20:30'

strptime 可以将字符串转换成 datetime 对象:

In [109]: datetime.strptime('20091031', '%Y%m%d')

Out[109]: datetime.datetime(2009, 10, 31, 0, 0)

2004510-20200730171444982-1940011944.png

2.3.3.6 三元表达式

语法如下:

value = 'true-expr' if condition else 'false-expr'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/340250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用python找对象_还在单身的你 Python教你如何脱单

程序员有女朋友?new一个就行。Python只要内存够,想new多少个对象都不是问题。由于行业环境的原因,程序员单身的确实多,这也是程序员的世纪难题。今天,不是给大家发对象,只教大家方法。今天教大家怎么用Pyth…

系统页面升级系统中_中交出行通勤班线系统全新升级!页面亮点功能说明

最近,中交出行上线了全新版本的通勤班线系统,乘客端定制班线首页及购票流程界面全新改版,车企后台也做了优化。一起来看看有哪些亮点吧!首页、搜索结果页等,已绑定微信的老用户,无感知的自动登录。通勤班线…

mysql log_来吧,了解下mysql有哪些log

概述mysql里面有很多log,比如用于主从同步的bin_log,防止数据丢失的redo_log,慢查询日志slow_log等等redo logInnoDB有buffer pool(简称bp)。bp是数据库页面的缓存,对InnoDB的任何修改操作都会首先在bp的page上进行,然…

为什么jupyterlab运行程序的时候会自动停止_气象人的JupyterLab

上两篇文章Jupyterlab安装配置教程Jupyter多用户配置中讲了Jupyter的主要部署方法,老实说,对新手很不友好,我也不想再经历一次这样的过程,尤其是Basemap的安装。所以,咱直接打包个镜像吧。不得不说Docker真是个拯救了无…

bfc是什么_全面分析总结BFC原理及实践

前言 经常在面试中被问到“如何清除浮动?”、“为什么 overflow: hidden 可以清除浮动?”等等比较基础的问题。虽然这些题目案在各种写面试题的文章中都有提供答案,但这种教科书式的问答肯定不是我们的目的,与其记住答案不如彻底掌…

学会了很多计算机小技巧,超实用的八个电脑小技巧,全都学会让你成为电脑高手...

Part one 截屏我们在使用电脑的过程中,有时候会使用截屏功能。AltCtrlA诶?怎么不行?原来这是QQ特有的快捷键,如果不登录QQ的话,是使用不了的。那么我们就只能先登录QQ,然后再一步步的操作。那在没网的情况下…

mysql从库执行delete停止_MySQL主库大表执行delete语句,Ctrl+C具体发生了什么分析...

MySQL主库大表执行delete语句,CtrlC具体发生了什么分析1、查看表结构localhost.qt>show create table doctor_stats_backup\G*************************** 1. row ***************************Table: doctor_stats_backupCreate Table: CREATE TABLE doctor_stat…

python打开火狐浏览器打不开网页_PHP让指定网页只能在微信内置浏览器打开 附代码...

有时候,有些网页不方便在电脑或者手机QQ打开,比如:想创建一个微信活动页面,在电脑或者QQ打开会导致某些功能失效,页面错版等情况,为了避免出现这种情况,其实我们只需让它只能在微信打开就可以了…

我的世界服务器设置op显示,我的世界设置op权限 | 手游网游页游攻略大全

发布时间:2017-08-19导读:不少我的世界腐竹都会收留一些OP帮助自己管理服务器,那么如果想取消OP的权限该如何操作呢?下面小编就来教教大家如何取消OP权限. 问:我的世界如何取消OP权限? 答:/deop 用户名,就是取消OP,/op 用户名 ...标签:我的世界 问答帮…

python turtle画彩虹的代码_如何用python海龟库画彩虹

python生成的彩虹效果,大家可以参考:使用的python版本:3.7.0 ,以下为源代码:# rainbow.py from turtle import * from random import * def HSB2RGB(hues): hues hues * 3.59 #100转成359范围 rgb [0.0,0.0,0.0] i …

vsphere虚拟克隆虚拟服务器,vSphere实战攻略2:虚拟机模板与克隆

【IT168 专稿】 (接上篇)"模板"是VMware为虚拟机提供的一项功能,可以让用户在其中一台虚拟机的基础上,很方便的"派生"或"克隆"出多台虚拟机,这减轻了管理员的负担。1.1 创建模板虚拟机在使用模板之前&#xff…

java ee maven_针对新手的Java EE7和Maven项目–第6部分

java ee maven从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4 部分 , 第5部分 在上一篇文章(第5部分)中,我们发现了如何使用Arquillian(我们的EJB服务)进行单元…

windows系统git服务器启动,windowsServer服务器上搭建GIt服务器

十年河东,十年河西,莫欺少年穷学无止境,精益求精摸索了一天,终于把服务器端Git搭建完毕。记录下来,省的以后踩坑。如下:在官网搜索框中输入:download 搜索下载型选择为Java选择开发版然后下载下…

如何在黄瓜中进行后端测试

黄瓜是一种规范语言的执行框架。 它并不是要成为测试语言,而是用于创建测试自动化。 黄瓜最适合出现一些现实世界中的参与者互动并取得某种成果的情况。 当可以从用户的角度编写它时,它特别有用。 Given Sarah is a premium club member When Sarah lo…

云服务器 生物信息学,云服务器 生物信息学

云服务器 生物信息学 内容精选换一换挂载有NVMe SSD盘的Linux弹性云服务器(如P1型云服务器)发生故障时,需联系管理员通过异地重建的方式进行恢复,新建故障弹性云服务器。如果故障弹性云服务器在/etc/fstab中设置了NVMe SSD盘的开机自动挂载功能&#xff…

python图像转字符画_python图像处理-字符画风格图片

前言 字符画图片,顾名思义就是由一个个字符组成的图片,下面这张图片很容易帮助你理解,如果我们可以将字符排列好,让他看上去像一个物体的形状,那么最后再将它输出保存为一张图片就可以实现了。下面的这些形状同样可以使…

react生命周期函数_如何优雅的消灭掉react生命周期函数

开源不易,感谢你的支持,❤ star concent^_^序言在react应用里,存在一个顶层组件,该组件的生命周期很长,除了人为的调用unmountComponentAtNode接口来卸载掉它和用户关闭掉浏览器tab页窗口,该顶层组件是不会…

jolokia_Hawtio和Jolokia的Hibernate统计

jolokia企业Java的很大一部分处理数据。 在企业设置中使用数据的所有不同方式中,仍然存在使用任何种类的O / R映射的行之有效且广泛教授的方法。 JPA标准使每个人都比较容易使用它,并且它也应该是可移植的。 但是,我们不要谈论迁移细节。 O /…

JVM垃圾收集和优化

总览 在对系统进行性能相关问题的故障排除时,内存优化是一个需要深入分析每个系统在内存中存储的内容,存储时间和访问模式的地方。 这篇文章是要在背景信息上进行注释,并在此工作中要注意一些要点,这些工作要专门针对基于Java的实…

redis desktop manager连不上redis_Redis安装教程

Ⅰ 简介Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如字符串(strings),散列(hashes&#…