文章数据
收藏(次)

【python数据分析】第二章 paython 基础

加关注
书上介绍使用 jupyter notebook 运行代码,使用 pycharm 即可。
如果不使用 jupyter notebook, 也能使用 py 文件,执行 py 文件
--------------------------------------------------------------------------------
使用 pycharm 可以创建一个 jupyter notebook 类型的文件,然后配置环境,运行,在 pycharm 中执行
--------------------------------------------------------------------------------
使用 Anaconda 自带的 jupyter notebook:
Anaconda 安装以后,在开始菜单中有 Anconda ,找到里面的 Jupyter Notebook 打开。
这时会开启一个终端,并默认打开浏览器,这时就可以在浏览器上操作了

终端上输出: http://127.0.0.1:8888/?token=abf16478527fac3593e62893ee0a9330eda14f3684bbd863
这表明 开启 jupyter notebook 是开启了一个 jupyter notebook 的 server
浏览器是客户端,在浏览器上的操作会发送到 这个服务器上执行,并反馈结果给浏览器。
终端关闭则服务器关闭
--------------------------------------------------------------------------------
jupyter notebook 的使用:
通过 上面的步骤,打开浏览器,他会自动检索系统上的目录(这个目录如何检索的???)。

创建一个 notebook (notebook 就是交互式的文件), 浏览器上点击 New 按钮。
下拉框上选择 类型 Notebook > Python 3 , 这时打开一个新的页面,这个页面就是 交互式文件了。

输入可执行语句(代码),
enter 键是回车换行,但是不执行代码
shift + enter 执行上面的代码, 输入错误代码会出现错误提示的。
--------------------------------------------------------------------------------
在新创建的 【Notebook > Python3】 的 Notebook 上, 点击 file --> save as 进行保存->命名->然后保存成功。
在终端的 服务器上有日志输出: Uploading file to /我的.ipynb
那么保存的 “我的.ipynb” 放到磁盘的哪个地方了???

在浏览器上, Jupter 的客户端, 上面他检索了系统的目录。 它也是一个web服务器,那么
就有web的根目录,上面检索的目录就是 web 服务器的根目录, 本机的位置是 C:UsersAdministrator
所以 “我的.ipynb” 就保存在 C:UsersAdministrator 的目录下

在检索的 目录 和 文件列表中 点击 我们刚刚保存的 “我的.ipynb” 就会加载这个文件,并执行里面的内容

tab 键有代码补全功能: [在 Jupter Notebook 打开的浏览器上操作]
s = 'aaabbcc'
s.<tab> 会列出 string 的方法可供选择,魔术方法: s._<tab>。
凡是 xxx.xxx 都能这样用,包括 引入包 import aa.<tab> 开始补全
补全文件路径 a/b/<tab>
补全或提示函数参数, 如果 tab 没有提示,试一下 shift + tab

当不知道写什么的时候按一下 tab 试一下呗
--------------------------------------------------------------------------------
? 在变量,方法前 或者 后, 输出这个变量或者方法的信息
?? 如果是自定义的方法,那么 两个?输出源码
~~~~~~~~~~~~~~~~~~~
def myf():
"""
我定义的方法
"""


myf?
myf??
~~~~~~~~~~~~~~~~~~~
myf?? <---shift + 回车执行
输出:
Signature: myf()
Source:
def myf():
"""
我定义的方法
"""
File: c:usersadministrator<ipython-input-10-ee46769f6b1c>
Type: function
~~~~~~~~~~~~~~~~~~~
? 还能搭档通配符使用: 用于搜索

import numpy as np

# np.*load* 报错,* 是通配符, ? 不是通配符,?表示是搜索功能
np.*load*?

执行输出:
np.__loader__
np.load
np.loads
np.loadtxt
================================================================================
%run py文件 用在执行 一个存在的 py 文件
位置在: C:UsersAdministratorpyp001.py
服务器的路径是: C:UsersAdministrator

所以执行如下即可
%run py/p001.py
--------------------------------------------------------------------------------
%load py/p001.py
导入代码并执行, %load py/p001.py 的位置会被 文件里面代码所替代。
%load 命令把文件的代码也显示出来,并执行源码
%run 只是得到文件执行的结果,不会把文件的源码带出来。

%paste
%cpaste
就是这两条命令,后面没有参数了,要求:先把别处的代码 ctrl + c 复制一下,不需要粘贴,
这时代码保存至剪切板上, 使用 上面的指令就是执行 系统剪切板中的代码
%cpaste 和上面的那个区别就是 给一个提示。其他都是相同的。
(剪切板上的内容现在又看不到,冒然执行可能有风险啊)


如果代码执行无响应(手写的代码, %run %load %paste 的代码 都可以)使用 ctrl + c 结束它
如果无法结束,直接把终端窗口,相当于把 jupyter 的服务器关闭了
================================================================================
魔术命令:只在 jupyter 环境下有用, 在 pycharm 这样的IDE 编写 py 代码文件不支持这个
格式: %命令名 比如 %timeit 测试执行时间:

a = np.random.randn(100, 100)
%timeit np.dot(a,a)

输出:
26.1 µs ± 2.57 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

不知道 %timeit 是什么作用: %timeit? 查看帮助
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这样的命令还有哪些:

%quickref 这是一个, 显示 Ipython 的快速参考
%magic 也是一个,显示所有魔术命令的详细文档

书中列出的
%debug
%hist 输出历史
%pdb 出现异常,自动进入 debug
%paste
%cpaste
%reset 删除所有命名空间的变量和名字
%page OBJECT 美化打印
%run xx.py
%prun 代码
%time 代码 执行一次,给出时间
%timeit 代码 执行多次,平均一下,给出平均执行时长
%who %who_is %whos 显示命名空间的变量,三种显示信息级别不同
%xdel 变量 删变量
--------------------------------------------------------------------------------
data = {i for i in range(7)}
print(data)
输出:
{0, 1, 2, 3, 4, 5, 6}

import numpy as np
data2 = {key : np.random.random() for key in range(7)} # 输出 key value 的格式
print(data2)
输出:
{
0: 0.9069356433283696,
1: 0.9517597435141447,
2: 0.6490268958418929,
3: 0.3092717087801342,
4: 0.4149743635054106,
5: 0.12691974148143348,
6: 0.5790940262234735
}

================================================================================
使用 matplotlib 绘图:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%matplotlib #浏览器弹出一个框,专门显示图
import matplotlib.pyplot as plt
plt.plot(np.random.randn(150).cumsum())
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%matplotlib inline #在当前 浏览器中出现(内嵌)一个绘图窗口
import matplotlib.pyplot as plt
plt.plot(np.random.randn(150).cumsum())
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在 py 文件中:pycharm 中执行下面的代码没有弹出 图片,可能方式不对,使用 jupyter 没有问题,暂时不管
import numpy as np
import matplotlib.pyplot as plt

plt.plot(np.random.randn(150).cumsum())
--------------------------------------------------------------------------------



>> 目录 << 


 

分享
收藏
点赞人
举报
文章标签
评论列表

推荐

暂无推荐