Browse Source

Pandas, a lot of small changes

pull/152/head
Jure Šorn 2 years ago
parent
commit
ea97663e92
2 changed files with 15 additions and 13 deletions
  1. 11
      README.md
  2. 17
      index.html

11
README.md

@ -3157,7 +3157,7 @@ Name: a, dtype: int64
```
```python
<Sr> = <Sr>.append(<Sr>) # Or: pd.concat(<coll_of_Sr>)
<Sr> = pd.concat(<coll_of_Sr>) # Concats multiple Series into one long Series.
<Sr> = <Sr>.combine_first(<Sr>) # Adds items that are not yet present.
<Sr>.update(<Sr>) # Updates items that are already present.
```
@ -3198,6 +3198,7 @@ y 2
| sr.transform(…) | y 2 | y 2 | y 2 |
+-----------------+-------------+-------------+---------------+
```
* **Methods ffill(), interpolate() and fillna() accept argument 'inplace' that defaults to False.**
* **Last result has a hierarchical index. Use `'<Sr>[key_1, key_2]'` to get its values.**
### DataFrame
@ -3235,9 +3236,9 @@ b 3 4
```python
<DF> = <DF>.set_index(column_key) # Replaces row keys with values from a column.
<DF> = <DF>.reset_index() # Moves row keys to a column named index.
<DF> = <DF>.sort_index(ascending=True) # Sorts rows by row keys.
<DF> = <DF>.sort_values(column_key/s) # Sorts rows by the passed column/s.
<DF> = <DF>.reset_index(drop=False) # Moves row keys to a column named index.
<DF> = <DF>.sort_index(ascending=True) # Sorts rows by row keys. Use `axis=1` for cols.
<DF> = <DF>.sort_values(column_key/s) # Sorts rows by the passed column/s. Same.
```
#### DataFrame — Merge, Join, Concat:
@ -3323,7 +3324,7 @@ b 3 4
#### DataFrame — Plot, Encode, Decode:
```python
<DF>.plot.line/bar/hist/scatter/box() # Also: `x=column_key, y=column_key/s`.
<DF>.plot.line/area/bar/hist/scatter/box() # Also: `x=column_key, y=column_key/s`.
plt.show() # Displays the plot. Also plt.savefig(<path>).
```

17
index.html

@ -54,7 +54,7 @@
<body>
<header>
<aside>December 30, 2022</aside>
<aside>December 31, 2022</aside>
<a href="https://gto76.github.io" rel="author">Jure Šorn</a>
</header>
@ -2578,7 +2578,7 @@ Name: a, dtype: int64
<pre><code class="python language-python hljs">&lt;Sr&gt; = &lt;Sr&gt; &gt;&lt;== &lt;el/Sr&gt; <span class="hljs-comment"># Returns a Series of bools.</span>
&lt;Sr&gt; = &lt;Sr&gt; +-*/ &lt;el/Sr&gt; <span class="hljs-comment"># Items with non-matching keys get value NaN.</span>
</code></pre>
<pre><code class="python language-python hljs">&lt;Sr&gt; = &lt;Sr&gt;.append(&lt;Sr&gt;) <span class="hljs-comment"># Or: pd.concat(&lt;coll_of_Sr&gt;)</span>
<pre><code class="python language-python hljs">&lt;Sr&gt; = pd.concat(&lt;coll_of_Sr&gt;) <span class="hljs-comment"># Concats multiple Series into one long Series.</span>
&lt;Sr&gt; = &lt;Sr&gt;.combine_first(&lt;Sr&gt;) <span class="hljs-comment"># Adds items that are not yet present.</span>
&lt;Sr&gt;.update(&lt;Sr&gt;) <span class="hljs-comment"># Updates items that are already present.</span>
</code></pre>
@ -2611,6 +2611,7 @@ y <span class="hljs-number">2</span>
</code></pre>
<ul>
<li><strong>Methods ffill(), interpolate() and fillna() accept argument 'inplace' that defaults to False.</strong></li>
<li><strong>Last result has a hierarchical index. Use <code class="python hljs"><span class="hljs-string">'&lt;Sr&gt;[key_1, key_2]'</span></code> to get its values.</strong></li>
</ul>
<div><h3 id="dataframe">DataFrame</h3><p><strong>Table with labeled rows and columns.</strong></p><pre><code class="python language-python hljs"><span class="hljs-meta">&gt;&gt;&gt; </span>DataFrame([[<span class="hljs-number">1</span>, <span class="hljs-number">2</span>], [<span class="hljs-number">3</span>, <span class="hljs-number">4</span>]], index=[<span class="hljs-string">'a'</span>, <span class="hljs-string">'b'</span>], columns=[<span class="hljs-string">'x'</span>, <span class="hljs-string">'y'</span>])
@ -2636,9 +2637,9 @@ b <span class="hljs-number">3</span> <span class="hljs-number">4</span>
&lt;DF&gt; = &lt;DF&gt; +-*/ &lt;el/Sr/DF&gt; <span class="hljs-comment"># Items with non-matching keys get value NaN.</span>
</code></pre>
<pre><code class="python language-python hljs">&lt;DF&gt; = &lt;DF&gt;.set_index(column_key) <span class="hljs-comment"># Replaces row keys with values from a column.</span>
&lt;DF&gt; = &lt;DF&gt;.reset_index() <span class="hljs-comment"># Moves row keys to a column named index.</span>
&lt;DF&gt; = &lt;DF&gt;.sort_index(ascending=<span class="hljs-keyword">True</span>) <span class="hljs-comment"># Sorts rows by row keys.</span>
&lt;DF&gt; = &lt;DF&gt;.sort_values(column_key/s) <span class="hljs-comment"># Sorts rows by the passed column/s.</span>
&lt;DF&gt; = &lt;DF&gt;.reset_index(drop=<span class="hljs-keyword">False</span>) <span class="hljs-comment"># Moves row keys to a column named index.</span>
&lt;DF&gt; = &lt;DF&gt;.sort_index(ascending=<span class="hljs-keyword">True</span>) <span class="hljs-comment"># Sorts rows by row keys. Use `axis=1` for cols.</span>
&lt;DF&gt; = &lt;DF&gt;.sort_values(column_key/s) <span class="hljs-comment"># Sorts rows by the passed column/s. Same.</span>
</code></pre>
<div><h4 id="dataframemergejoinconcat">DataFrame — Merge, Join, Concat:</h4><pre><code class="python language-python hljs"><span class="hljs-meta">&gt;&gt;&gt; </span>l = DataFrame([[<span class="hljs-number">1</span>, <span class="hljs-number">2</span>], [<span class="hljs-number">3</span>, <span class="hljs-number">4</span>]], index=[<span class="hljs-string">'a'</span>, <span class="hljs-string">'b'</span>], columns=[<span class="hljs-string">'x'</span>, <span class="hljs-string">'y'</span>])
x y
@ -2714,7 +2715,7 @@ b <span class="hljs-number">3</span> <span class="hljs-number">4</span>
<ul>
<li><strong>Use <code class="python hljs"><span class="hljs-string">'&lt;DF&gt;[col_key_1, col_key_2][row_key]'</span></code> to get the fifth result's values.</strong></li>
</ul>
<div><h4 id="dataframeplotencodedecode">DataFrame — Plot, Encode, Decode:</h4><pre><code class="python language-python hljs">&lt;DF&gt;.plot.line/bar/hist/scatter/box() <span class="hljs-comment"># Also: `x=column_key, y=column_key/s`.</span>
<div><h4 id="dataframeplotencodedecode">DataFrame — Plot, Encode, Decode:</h4><pre><code class="python language-python hljs">&lt;DF&gt;.plot.line/area/bar/hist/scatter/box() <span class="hljs-comment"># Also: `x=column_key, y=column_key/s`.</span>
plt.show() <span class="hljs-comment"># Displays the plot. Also plt.savefig(&lt;path&gt;).</span>
</code></pre></div>
@ -2724,7 +2725,7 @@ plt.show() <span class="hljs-comment"># Disp
&lt;DF&gt; = pd.read_clipboard() <span class="hljs-comment"># Reads a copied table from the clipboard.</span>
</code></pre>
<pre><code class="python language-python hljs">&lt;dict&gt; = &lt;DF&gt;.to_dict([<span class="hljs-string">'d/l/s/…'</span>]) <span class="hljs-comment"># Returns columns as dicts, lists or series.</span>
&lt;str&gt; = &lt;DF&gt;.to_json/html/csv([&lt;path&gt;]) <span class="hljs-comment"># Also to_markdown/latex([&lt;path&gt;]).</span>
&lt;str&gt; = &lt;DF&gt;.to_json/html/csv([&lt;path&gt;]) <span class="hljs-comment"># Also &lt;DF&gt;.to_markdown/latex([&lt;path&gt;]).</span>
&lt;DF&gt;.to_pickle/excel(&lt;path&gt;) <span class="hljs-comment"># Run `$ pip3 install openpyxl` for xlsx files.</span>
&lt;DF&gt;.to_sql(<span class="hljs-string">'&lt;table_name&gt;'</span>, &lt;connection&gt;) <span class="hljs-comment"># Accepts SQLite3 or SQLAlchemy connection.</span>
</code></pre>
@ -2919,7 +2920,7 @@ $ pyinstaller script.py --add-data '&lt;path&gt;:.' <span class="hljs-comment">
<footer>
<aside>December 30, 2022</aside>
<aside>December 31, 2022</aside>
<a href="https://gto76.github.io" rel="author">Jure Šorn</a>
</footer>

Loading…
Cancel
Save