Skip to content

Commit 57392e3

Browse files
committed
update
1 parent 53fcd03 commit 57392e3

23 files changed

+87
-37
lines changed

data/my_excel_saved.xlsx

1 Byte
Binary file not shown.

docs/Content/ch1.html

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -503,74 +503,74 @@ <h3>1. np数组的构造<a class="headerlink" href="#np" title="Permalink to thi
503503
<p>【c】随机矩阵: <code class="docutils literal notranslate"><span class="pre">np.random</span></code></p>
504504
<p>最常用的随机生成函数为 <code class="docutils literal notranslate"><span class="pre">rand,</span> <span class="pre">randn,</span> <span class="pre">randint,</span> <span class="pre">choice</span></code> ,它们分别表示0-1均匀分布的随机数组、标准正态的随机数组、随机整数组和随机列表抽样:</p>
505505
<div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [38]: </span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="c1"># 生成服从0-1均匀分布的三个随机数</span>
506-
<span class="gh">Out[38]: </span><span class="go">array([0.71621444, 0.26429503, 0.5954694 ])</span>
506+
<span class="gh">Out[38]: </span><span class="go">array([0.99390903, 0.25854328, 0.13560598])</span>
507507

508508
<span class="gp">In [39]: </span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="c1"># 注意这里传入的不是元组,每个维度大小分开输入</span>
509509
<span class="gh">Out[39]: </span><span class="go"></span>
510-
<span class="go">array([[0.04536995, 0.64963898, 0.79417025],</span>
511-
<span class="go"> [0.1394991 , 0.54557398, 0.35203454],</span>
512-
<span class="go"> [0.37110594, 0.20289376, 0.27176637]])</span>
510+
<span class="go">array([[0.62634822, 0.06747959, 0.76049576],</span>
511+
<span class="go"> [0.21826591, 0.71708638, 0.98481069],</span>
512+
<span class="go"> [0.38071365, 0.82645691, 0.25598288]])</span>
513513
</pre></div>
514514
</div>
515515
<p>对于服从区间 <span class="math notranslate nohighlight">\(a\)</span><span class="math notranslate nohighlight">\(b\)</span> 上的均匀分布可以如下生成:</p>
516516
<div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [40]: </span><span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">15</span>
517517

518518
<span class="gp">In [41]: </span><span class="p">(</span><span class="n">b</span> <span class="o">-</span> <span class="n">a</span><span class="p">)</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">a</span>
519-
<span class="gh">Out[41]: </span><span class="go">array([ 6.5379111 , 11.12207163, 13.63008547])</span>
519+
<span class="gh">Out[41]: </span><span class="go">array([ 6.40061821, 6.72343487, 10.49412407])</span>
520520
</pre></div>
521521
</div>
522522
<p>一般的,可以选择已有的库函数:</p>
523523
<div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [42]: </span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="mi">15</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span>
524-
<span class="gh">Out[42]: </span><span class="go">array([10.79115056, 13.92675102, 13.29722678])</span>
524+
<span class="gh">Out[42]: </span><span class="go">array([11.10830186, 7.35193797, 8.46971257])</span>
525525
</pre></div>
526526
</div>
527527
<p><code class="docutils literal notranslate"><span class="pre">randn</span></code> 生成了 <span class="math notranslate nohighlight">\(N\rm{(\mathbf{0}, \mathbf{I})}\)</span> 的标准正态分布:</p>
528528
<div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [43]: </span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
529-
<span class="gh">Out[43]: </span><span class="go">array([-0.83503946, 0.16748577, 0.37559476])</span>
529+
<span class="gh">Out[43]: </span><span class="go">array([ 1.2642241 , -1.04640246, 0.05297258])</span>
530530

531531
<span class="gp">In [44]: </span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
532532
<span class="gh">Out[44]: </span><span class="go"></span>
533-
<span class="go">array([[ 0.54820762, -0.62745115],</span>
534-
<span class="go"> [-0.98555211, -0.76136085]])</span>
533+
<span class="go">array([[2.65755302, 0.12266858],</span>
534+
<span class="go"> [0.29899713, 0.40504878]])</span>
535535
</pre></div>
536536
</div>
537537
<p>对于服从方差为 <span class="math notranslate nohighlight">\(\sigma^2\)</span> 均值为 <span class="math notranslate nohighlight">\(\mu\)</span> 的一元正态分布可以如下生成:</p>
538538
<div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [45]: </span><span class="n">sigma</span><span class="p">,</span> <span class="n">mu</span> <span class="o">=</span> <span class="mf">2.5</span><span class="p">,</span> <span class="mi">3</span>
539539

540540
<span class="gp">In [46]: </span><span class="n">mu</span> <span class="o">+</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="o">*</span> <span class="n">sigma</span>
541-
<span class="gh">Out[46]: </span><span class="go">array([-0.44611022, 5.298121 , 6.83720049])</span>
541+
<span class="gh">Out[46]: </span><span class="go">array([6.46031228, 0.57297935, 5.2692226 ])</span>
542542
</pre></div>
543543
</div>
544544
<p>同样的,也可选择从已有函数生成:</p>
545545
<div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [47]: </span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">normal</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mf">2.5</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span>
546-
<span class="gh">Out[47]: </span><span class="go">array([ 7.1350261 , -0.27804915, 2.36612487])</span>
546+
<span class="gh">Out[47]: </span><span class="go">array([2.72546019, 7.42390272, 3.71079215])</span>
547547
</pre></div>
548548
</div>
549549
<p><code class="docutils literal notranslate"><span class="pre">randint</span></code> 可以指定生成随机整数的最小值最大值(不包含)和维度大小:</p>
550550
<div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [48]: </span><span class="n">low</span><span class="p">,</span> <span class="n">high</span><span class="p">,</span> <span class="n">size</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">15</span><span class="p">,</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="c1"># 生成5到14的随机整数</span>
551551

552552
<span class="gp">In [49]: </span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="n">low</span><span class="p">,</span> <span class="n">high</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span>
553553
<span class="gh">Out[49]: </span><span class="go"></span>
554-
<span class="go">array([[ 5, 10],</span>
555-
<span class="go"> [10, 6]])</span>
554+
<span class="go">array([[ 6, 10],</span>
555+
<span class="go"> [11, 11]])</span>
556556
</pre></div>
557557
</div>
558558
<p><code class="docutils literal notranslate"><span class="pre">choice</span></code> 可以从给定的列表中,以一定概率和方式抽取结果,当不指定概率时为均匀采样,默认抽取方式为有放回抽样:</p>
559559
<div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [50]: </span><span class="n">my_list</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="s1">&#39;b&#39;</span><span class="p">,</span> <span class="s1">&#39;c&#39;</span><span class="p">,</span> <span class="s1">&#39;d&#39;</span><span class="p">]</span>
560560

561561
<span class="gp">In [51]: </span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">choice</span><span class="p">(</span><span class="n">my_list</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="n">replace</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">p</span><span class="o">=</span><span class="p">[</span><span class="mf">0.1</span><span class="p">,</span> <span class="mf">0.7</span><span class="p">,</span> <span class="mf">0.1</span> <span class="p">,</span><span class="mf">0.1</span><span class="p">])</span>
562-
<span class="gh">Out[51]: </span><span class="go">array([&#39;d&#39;, &#39;b&#39;], dtype=&#39;&lt;U1&#39;)</span>
562+
<span class="gh">Out[51]: </span><span class="go">array([&#39;b&#39;, &#39;d&#39;], dtype=&#39;&lt;U1&#39;)</span>
563563

564564
<span class="gp">In [52]: </span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">choice</span><span class="p">(</span><span class="n">my_list</span><span class="p">,</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">3</span><span class="p">))</span>
565565
<span class="gh">Out[52]: </span><span class="go"></span>
566-
<span class="go">array([[&#39;a&#39;, &#39;d&#39;, &#39;b&#39;],</span>
567-
<span class="go"> [&#39;b&#39;, &#39;a&#39;, &#39;b&#39;],</span>
568-
<span class="go"> [&#39;c&#39;, &#39;b&#39;, &#39;d&#39;]], dtype=&#39;&lt;U1&#39;)</span>
566+
<span class="go">array([[&#39;a&#39;, &#39;b&#39;, &#39;b&#39;],</span>
567+
<span class="go"> [&#39;a&#39;, &#39;a&#39;, &#39;b&#39;],</span>
568+
<span class="go"> [&#39;c&#39;, &#39;c&#39;, &#39;b&#39;]], dtype=&#39;&lt;U1&#39;)</span>
569569
</pre></div>
570570
</div>
571571
<p>当返回的元素个数与原列表相同时,不放回抽样等价于使用 <code class="docutils literal notranslate"><span class="pre">permutation</span></code> 函数,即打散原列表:</p>
572572
<div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [53]: </span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">permutation</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
573-
<span class="gh">Out[53]: </span><span class="go">array([&#39;b&#39;, &#39;a&#39;, &#39;c&#39;, &#39;d&#39;], dtype=&#39;&lt;U1&#39;)</span>
573+
<span class="gh">Out[53]: </span><span class="go">array([&#39;b&#39;, &#39;d&#39;, &#39;a&#39;, &#39;c&#39;], dtype=&#39;&lt;U1&#39;)</span>
574574
</pre></div>
575575
</div>
576576
<p>最后,需要提到的是随机种子,它能够固定随机数的输出结果:</p>

docs/Content/ch10.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1009,19 +1009,19 @@ <h3>1. 滑动窗口<a class="headerlink" href="#id10" title="Permalink to this h
10091009
<span class="gp">In [107]: </span><span class="n">r</span> <span class="o">=</span> <span class="n">s</span><span class="o">.</span><span class="n">rolling</span><span class="p">(</span><span class="s1">&#39;30D&#39;</span><span class="p">)</span>
10101010

10111011
<span class="gp">In [108]: </span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
1012-
<span class="gh">Out[108]: </span><span class="go">[&lt;matplotlib.lines.Line2D at 0x2ed114978c8&gt;]</span>
1012+
<span class="gh">Out[108]: </span><span class="go">[&lt;matplotlib.lines.Line2D at 0x2647d226f48&gt;]</span>
10131013

10141014
<span class="gp">In [109]: </span><span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;BOLL LINES&#39;</span><span class="p">)</span>
10151015
<span class="gh">Out[109]: </span><span class="go">Text(0.5, 1.0, &#39;BOLL LINES&#39;)</span>
10161016

10171017
<span class="gp">In [110]: </span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">mean</span><span class="p">())</span>
1018-
<span class="gh">Out[110]: </span><span class="go">[&lt;matplotlib.lines.Line2D at 0x2ed11497f88&gt;]</span>
1018+
<span class="gh">Out[110]: </span><span class="go">[&lt;matplotlib.lines.Line2D at 0x2647d290ac8&gt;]</span>
10191019

10201020
<span class="gp">In [111]: </span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">mean</span><span class="p">()</span><span class="o">+</span><span class="n">r</span><span class="o">.</span><span class="n">std</span><span class="p">()</span><span class="o">*</span><span class="mi">2</span><span class="p">)</span>
1021-
<span class="gh">Out[111]: </span><span class="go">[&lt;matplotlib.lines.Line2D at 0x2ed114a3608&gt;]</span>
1021+
<span class="gh">Out[111]: </span><span class="go">[&lt;matplotlib.lines.Line2D at 0x2647d290908&gt;]</span>
10221022

10231023
<span class="gp">In [112]: </span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">mean</span><span class="p">()</span><span class="o">-</span><span class="n">r</span><span class="o">.</span><span class="n">std</span><span class="p">()</span><span class="o">*</span><span class="mi">2</span><span class="p">)</span>
1024-
<span class="gh">Out[112]: </span><span class="go">[&lt;matplotlib.lines.Line2D at 0x2ed114ab388&gt;]</span>
1024+
<span class="gh">Out[112]: </span><span class="go">[&lt;matplotlib.lines.Line2D at 0x2647d29b748&gt;]</span>
10251025
</pre></div>
10261026
</div>
10271027
<a class="reference internal image-reference" href="../_images/ch10.png"><img alt="../_images/ch10.png" src="../_images/ch10.png" style="width: 400px;" /></a>

docs/Content/ch4.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@ <h3>3. Groupby对象<a class="headerlink" href="#groupby" title="Permalink to th
442442
<div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [13]: </span><span class="n">gb</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">groupby</span><span class="p">([</span><span class="s1">&#39;School&#39;</span><span class="p">,</span> <span class="s1">&#39;Grade&#39;</span><span class="p">])</span>
443443

444444
<span class="gp">In [14]: </span><span class="n">gb</span>
445-
<span class="gh">Out[14]: </span><span class="go">&lt;pandas.core.groupby.generic.DataFrameGroupBy object at 0x000002ED11751EC8&gt;</span>
445+
<span class="gh">Out[14]: </span><span class="go">&lt;pandas.core.groupby.generic.DataFrameGroupBy object at 0x000002647F096DC8&gt;</span>
446446
</pre></div>
447447
</div>
448448
<p>通过 <code class="docutils literal notranslate"><span class="pre">ngroups</span></code> 属性,可以得到分组个数:</p>

docs/Content/ch8.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ <h3>1. str对象的设计意图<a class="headerlink" href="#id2" title="Permalin
350350
<span class="gp">In [5]: </span><span class="n">s</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">([</span><span class="s1">&#39;abcd&#39;</span><span class="p">,</span> <span class="s1">&#39;efg&#39;</span><span class="p">,</span> <span class="s1">&#39;hi&#39;</span><span class="p">])</span>
351351

352352
<span class="gp">In [6]: </span><span class="n">s</span><span class="o">.</span><span class="n">str</span>
353-
<span class="gh">Out[6]: </span><span class="go">&lt;pandas.core.strings.accessor.StringMethods at 0x2ed15ab4488&gt;</span>
353+
<span class="gh">Out[6]: </span><span class="go">&lt;pandas.core.strings.accessor.StringMethods at 0x264028543c8&gt;</span>
354354

355355
<span class="gp">In [7]: </span><span class="n">s</span><span class="o">.</span><span class="n">str</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="c1"># pandas中str对象上的upper方法</span>
356356
<span class="gh">Out[7]: </span><span class="go"></span>

docs/Content/ch9.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ <h3>1. cat对象的属性<a class="headerlink" href="#id2" title="Permalink to t
323323
</div>
324324
<p>在一个分类类型的 <code class="docutils literal notranslate"><span class="pre">Series</span></code> 中定义了 <code class="docutils literal notranslate"><span class="pre">cat</span></code> 对象,它和上一章中介绍的 <code class="docutils literal notranslate"><span class="pre">str</span></code> 对象类似,定义了一些属性和方法来进行分类类别的操作。</p>
325325
<div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [6]: </span><span class="n">s</span><span class="o">.</span><span class="n">cat</span>
326-
<span class="gh">Out[6]: </span><span class="go">&lt;pandas.core.arrays.categorical.CategoricalAccessor object at 0x000002ED166E16C8&gt;</span>
326+
<span class="gh">Out[6]: </span><span class="go">&lt;pandas.core.arrays.categorical.CategoricalAccessor object at 0x0000026403481608&gt;</span>
327327
</pre></div>
328328
</div>
329329
<p>对于一个具体的分类,有两个组成部分,其一为类别的本身,它以 <code class="docutils literal notranslate"><span class="pre">Index</span></code> 类型存储,其二为是否有序,它们都可以通过 <code class="docutils literal notranslate"><span class="pre">cat</span></code> 的属性被访问:</p>

0 commit comments

Comments
 (0)