|
55 | 55 |
|
56 | 56 | <body> |
57 | 57 | <header> |
58 | | - <aside>February 4, 2025</aside> |
| 58 | + <aside>February 5, 2025</aside> |
59 | 59 | <a href="https://gto76.github.io" rel="author">Jure Šorn</a> |
60 | 60 | </header> |
61 | 61 |
|
|
1529 | 1529 | <div><h3 id="parameters">Parameters</h3><ul> |
1530 | 1530 | <li><strong><code class="python hljs"><span class="hljs-string">'dialect'</span></code> - Master parameter that sets the default values. String or a 'csv.Dialect' object.</strong></li> |
1531 | 1531 | <li><strong><code class="python hljs"><span class="hljs-string">'delimiter'</span></code> - A one-character string used to separate fields.</strong></li> |
1532 | | -<li><strong><code class="python hljs"><span class="hljs-string">'lineterminator'</span></code> - How writer terminates rows. Reader is hardcoded to '\n', '\r', '\r\n'.</strong></li> |
1533 | | -<li><strong><code class="python hljs"><span class="hljs-string">'quotechar'</span></code> - Character for quoting fields that contain special characters.</strong></li> |
| 1532 | +<li><strong><code class="python hljs"><span class="hljs-string">'lineterminator'</span></code> - How writer terminates rows. Reader looks for '\n', '\r' and '\r\n'.</strong></li> |
| 1533 | +<li><strong><code class="python hljs"><span class="hljs-string">'quotechar'</span></code> - Character for quoting fields containing delimiters, quotechars, '\n' or '\r'.</strong></li> |
1534 | 1534 | <li><strong><code class="python hljs"><span class="hljs-string">'escapechar'</span></code> - Character for escaping quotechars.</strong></li> |
1535 | 1535 | <li><strong><code class="python hljs"><span class="hljs-string">'doublequote'</span></code> - Whether quotechars inside fields are/get doubled or escaped.</strong></li> |
1536 | 1536 | <li><strong><code class="python hljs"><span class="hljs-string">'quoting'</span></code> - 0: As necessary, 1: All, 2: All but numbers which are read as floats, 3: None.</strong></li> |
@@ -2595,13 +2595,13 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment |
2595 | 2595 | <S> = <S> + <el/S> <span class="hljs-comment"># Items with non-matching keys get value NaN.</span> |
2596 | 2596 | </code></pre> |
2597 | 2597 | <pre><code class="python language-python hljs"><S> = <S>.head/describe/sort_values() <span class="hljs-comment"># Also <S>.unique/value_counts/round/dropna().</span> |
2598 | | -<S> = <S>.str.strip/lower/contains/replace() <span class="hljs-comment"># Also split().str[<int>] and split().explode().</span> |
| 2598 | +<S> = <S>.str.strip/lower/contains/replace() <span class="hljs-comment"># Also split().str[i] or split(expand=True).</span> |
2599 | 2599 | <S> = <S>.dt.year/month/day/hour <span class="hljs-comment"># Use pd.to_datetime(<S>) to get S of dates.</span> |
2600 | 2600 | </code></pre> |
2601 | 2601 | <pre><code class="python language-python hljs"><S>.plot.line/area/bar/pie/hist() <span class="hljs-comment"># Generates a plot. `plt.show()` displays it.</span> |
2602 | 2602 | </code></pre> |
2603 | 2603 | <ul> |
2604 | | -<li><strong>Also: <code class="python hljs"><span class="hljs-string">'pd.cut(<S>, bins=<int/coll>)'</span></code> and <code class="python hljs"><span class="hljs-string">'<S>.quantile(<float/coll>)'</span></code>.</strong></li> |
| 2604 | +<li><strong>Also <code class="python hljs"><span class="hljs-string">'<S>.quantile(<float/coll>)'</span></code> and <code class="python hljs"><span class="hljs-string">'pd.cut(<S>, bins=<int/coll>)'</span></code>.</strong></li> |
2605 | 2605 | <li><strong>Indexing objects can't be tuples because <code class="python hljs"><span class="hljs-string">'obj[x, y]'</span></code> is converted to <code class="python hljs"><span class="hljs-string">'obj[(x, y)]'</span></code>.</strong></li> |
2606 | 2606 | <li><strong>Pandas uses NumPy types like <code class="python hljs"><span class="hljs-string">'np.int64'</span></code>. Series is converted to <code class="python hljs"><span class="hljs-string">'float64'</span></code> if we assign np.nan to any item. Use <code class="python hljs"><span class="hljs-string">'<S>.astype(<str/type>)'</span></code> to get converted Series.</strong></li> |
2607 | 2607 | <li><strong>Series will silently overflow if we run <code class="python hljs"><span class="hljs-string">'pd.Series([100], dtype="int8") + 100'</span></code>!</strong></li> |
@@ -2650,7 +2650,7 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment |
2650 | 2650 | <DF> = <DF>[<S_of_bools>] <span class="hljs-comment"># Filters rows. For example `df[df.x > 1]`.</span> |
2651 | 2651 | <DF> = <DF>[<DF_of_bools>] <span class="hljs-comment"># Assigns NaN to items that are False in bools.</span> |
2652 | 2652 | </code></pre> |
2653 | | -<pre><code class="python language-python hljs"><DF> = <DF> > <el/S/DF> <span class="hljs-comment"># Returns DF of bools. S is treated as a row.</span> |
| 2653 | +<pre><code class="python language-python hljs"><DF> = <DF> > <el/S/DF> <span class="hljs-comment"># Returns DF of bools. Treats series as a row.</span> |
2654 | 2654 | <DF> = <DF> + <el/S/DF> <span class="hljs-comment"># Items with non-matching keys get value NaN.</span> |
2655 | 2655 | </code></pre> |
2656 | 2656 | <pre><code class="python language-python hljs"><DF> = <DF>.set_index(col_key) <span class="hljs-comment"># Replaces row keys with column's values.</span> |
@@ -2719,7 +2719,7 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment |
2719 | 2719 | </code></pre> |
2720 | 2720 |
|
2721 | 2721 | <ul> |
2722 | | -<li><strong>All methods operate on columns by default. Pass <code class="python hljs"><span class="hljs-string">'axis=1'</span></code> to process the rows instead.</strong></li> |
| 2722 | +<li><strong>Listed methods process the columns unless they receive <code class="python hljs"><span class="hljs-string">'axis=1'</span></code>. Exceptions to this rule are <code class="python hljs"><span class="hljs-string">'<DF>.dropna()'</span></code>, <code class="python hljs"><span class="hljs-string">'<DF>.drop(row_key/s)'</span></code> and <code class="python hljs"><span class="hljs-string">'<DF>.rename(<dict/func>)'</span></code>.</strong></li> |
2723 | 2723 | <li><strong>Fifth result's columns are indexed with a multi-index. This means we need a tuple of column keys to specify a column: <code class="python hljs"><span class="hljs-string">'<DF>.loc[row_key, (col_key_1, col_key_2)]'</span></code>.</strong></li> |
2724 | 2724 | </ul> |
2725 | 2725 | <div><h3 id="multiindex">Multi-Index</h3><pre><code class="python language-python hljs"><DF> = <DF>.loc[row_key_1] <span class="hljs-comment"># Or: <DF>.xs(row_key_1)</span> |
@@ -2931,7 +2931,7 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment |
2931 | 2931 |
|
2932 | 2932 |
|
2933 | 2933 | <footer> |
2934 | | - <aside>February 4, 2025</aside> |
| 2934 | + <aside>February 5, 2025</aside> |
2935 | 2935 | <a href="https://gto76.github.io" rel="author">Jure Šorn</a> |
2936 | 2936 | </footer> |
2937 | 2937 |
|
|
0 commit comments