利用Python进行数据分析的学习笔记——chap3

学习《利用python进行数据分析》笔记

import numpy as np
data = {i:np.random.randn() for i in range(7)}
data
{0: 1.6300736561683242,
 1: 0.9853795329481175,
 2: -0.16510852115187846,
 3: 0.5301776865167741,
 4: 0.3563732455708549,
 5: -0.918866001709621,
 6: -0.43477482107712045}
np.random.randn()#无参数时,返回单个数据。
1.2029040869143057
np.random.randn(2,4)#返回值为指定维度的array,具有标准正态分布
array([[ 0.64449731,  1.46180684,  2.09259362,  2.21036766],
       [-0.24963167, -1.31347591, -0.67127677,  1.10713686]])
def add_numbers(a,b):
    """
    Add two numbers together
    
    Returns
    -------
    the_sum:type of arguments
    """
    return a+b
#可显示docstring
add_numbers?
#显示该函数的源代码
add_numbers??
#列出NumPy顶级命名空间中含有load的所有函数
np.*load*?
#通过%run命令运行.py脚本。之后这个脚本内定义的函数都可以在下面使用
%run chap2_ex1.py

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b1SmhH0d-1639818128342)(output_9_0.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3vapBlX8-1639818128344)(output_9_1.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OFRXO9Vp-1639818128346)(output_9_2.png)]

%paste
%cpaste
#Ipython 5.0以后都被取消了,直接复制粘贴即可
UsageError: Line magic function `%paste` not found.
a = np.array([[1,1],[1,1]])
b = np.array([[1,0],[0,1]])
np.dot(a,b)#矩阵乘法
array([[1, 1],
       [1, 1]])
a
array([[1, 1],
       [1, 1]])
b
array([[1, 0],
       [0, 1]])
a*b#对应元素相乘
array([[1, 0],
       [0, 1]])
#%timeit检测任意python语句的执行时间
%timeit np.dot(a,b)
1.33 µs ± 19.3 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
'a' in dir()#判断变量是否存在
True
#这条命令把变量移除了
%reset -f
'a' in dir()
False
%magic
#集成matplotlib
import matplotlib.pyplot as plt
from pylab import *
Using matplotlib backend: <object object at 0x0000022CF0C75EA0>
Populating the interactive namespace from numpy and matplotlib
img = plt.imread('夏目.jpg')
imshow(img)
<matplotlib.image.AxesImage at 0x21ef95a1ab0>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H9QxBpML-1639818128347)(output_23_1.png)]

#cumsum()累加,就是[1,2,3]输出[1,3,6]
plot(randn(1000).cumsum())
[<matplotlib.lines.Line2D at 0x21ef9667d90>]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SEHBkwqY-1639818128348)(output_24_1.png)]

#测试代码的执行时间(选出以foo开头的字符串)
strings = ['foo','foobar','baz','qux','python','Guido Van Rossum']*100000
method1 = [x for x in strings if x.startswith('foo')]
method2 = [x for x in strings if x[:3] == 'foo']
%timeit [x for x in strings if x.startswith('foo')]
%timeit [x for x in strings if x[:3] == 'foo']
63.8 ms ± 1.42 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
51.6 ms ± 488 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
from numpy.linalg import eigvals
def run_experiment(niter=100):
    K = 100
    results = []
    for _ in range(niter):
        mat = np.random.randn(K,K)
        #eigvals求解特征值
        max_eigenvalue = np.abs(eigvals(mat)).max()
        results.append(max_eigenvalue)
    return results
some_results = run_experiment()
print('Largest one we saw : %s' % np.max(some_results))
Largest one we saw : 11.804861499836456
def add_and_sum(x,y):
    added = x+y
    summed = added.sum(axis=1)
    return summed
def call_function():
    x = np.random.randn(1000,1000)
    y = np.random.randn(1000,1000)
    return add_and_sum(x,y)
#逐行分析函数性能(没装好line_profile)
%lprun -f add_and_sum -f call_function call_function()
UsageError: Line magic function `%lprun` not found.

~~```python



```python

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值