Skip to content

Commit 0fa07e7

Browse files
committed
Pandas
1 parent ebee0dc commit 0fa07e7

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3181,8 +3181,8 @@ b 3 4
31813181
```python
31823182
<DF> = <DF>.set_index(column_key) # Replaces row keys with values from a column.
31833183
<DF> = <DF>.reset_index() # Moves row keys to their own column.
3184-
<DF> = <DF>.transpose() # Rotates the table.
3185-
<DF> = <DF>.melt(id_vars=column_key/s) # Melts on columns.
3184+
<DF> = <DF>.filter('<regex>', axis=1) # Only keeps columns whose key matches the regex.
3185+
<DF> = <DF>.melt(id_vars=column_key/s) # Convers DF from wide to long format.
31863186
```
31873187

31883188
#### Merge, Join, Concat:
@@ -3387,12 +3387,12 @@ def scrape_data():
33873387
covid = pd.read_csv('https://covid.ourworldindata.org/data/owid-covid-data.csv',
33883388
usecols=['date', 'total_cases'])
33893389
covid = covid.groupby('date').sum()
3390-
dow, gold, btc = [scrape_yahoo(id_) for id_ in ('^DJI', 'GC=F', 'BTC-USD')]
3391-
dow.name, gold.name, btc.name = 'Dow Jones', 'Gold', 'Bitcoin'
3392-
return covid, dow, gold, btc
3390+
dow, gold, bitcoin = [scrape_yahoo(id_) for id_ in ('^DJI', 'GC=F', 'BTC-USD')]
3391+
dow.name, gold.name, bitcoin.name = 'Dow Jones', 'Gold', 'Bitcoin'
3392+
return covid, dow, gold, bitcoin
33933393

3394-
def wrangle_data(covid, dow, gold, btc):
3395-
df = pandas.concat([covid, dow, gold, btc], axis=1)
3394+
def wrangle_data(covid, dow, gold, bitcoin):
3395+
df = pandas.concat([covid, dow, gold, bitcoin], axis=1)
33963396
df = df.loc['2020-02-23':].iloc[:-2]
33973397
df = df.interpolate()
33983398
df.iloc[:, 1:] = df.rolling(10, min_periods=1, center=True).mean().iloc[:, 1:]

index.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2707,8 +2707,8 @@
27072707
</code></pre>
27082708
<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>
27092709
&lt;DF&gt; = &lt;DF&gt;.reset_index() <span class="hljs-comment"># Moves row keys to their own column.</span>
2710-
&lt;DF&gt; = &lt;DF&gt;.transpose() <span class="hljs-comment"># Rotates the table.</span>
2711-
&lt;DF&gt; = &lt;DF&gt;.melt(id_vars=column_key/s) <span class="hljs-comment"># Melts on columns.</span>
2710+
&lt;DF&gt; = &lt;DF&gt;.filter(<span class="hljs-string">'&lt;regex&gt;'</span>, axis=<span class="hljs-number">1</span>) <span class="hljs-comment"># Only keeps columns whose key matches the regex.</span>
2711+
&lt;DF&gt; = &lt;DF&gt;.melt(id_vars=column_key/s) <span class="hljs-comment"># Convers DF from wide to long format.</span>
27122712
</code></pre>
27132713
<div><h4 id="mergejoinconcat">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>])
27142714
x y
@@ -2871,12 +2871,12 @@
28712871
covid = pd.read_csv(<span class="hljs-string">'https://covid.ourworldindata.org/data/owid-covid-data.csv'</span>,
28722872
usecols=[<span class="hljs-string">'date'</span>, <span class="hljs-string">'total_cases'</span>])
28732873
covid = covid.groupby(<span class="hljs-string">'date'</span>).sum()
2874-
dow, gold, btc = [scrape_yahoo(id_) <span class="hljs-keyword">for</span> id_ <span class="hljs-keyword">in</span> (<span class="hljs-string">'^DJI'</span>, <span class="hljs-string">'GC=F'</span>, <span class="hljs-string">'BTC-USD'</span>)]
2875-
dow.name, gold.name, btc.name = <span class="hljs-string">'Dow Jones'</span>, <span class="hljs-string">'Gold'</span>, <span class="hljs-string">'Bitcoin'</span>
2876-
<span class="hljs-keyword">return</span> covid, dow, gold, btc
2874+
dow, gold, bitcoin = [scrape_yahoo(id_) <span class="hljs-keyword">for</span> id_ <span class="hljs-keyword">in</span> (<span class="hljs-string">'^DJI'</span>, <span class="hljs-string">'GC=F'</span>, <span class="hljs-string">'BTC-USD'</span>)]
2875+
dow.name, gold.name, bitcoin.name = <span class="hljs-string">'Dow Jones'</span>, <span class="hljs-string">'Gold'</span>, <span class="hljs-string">'Bitcoin'</span>
2876+
<span class="hljs-keyword">return</span> covid, dow, gold, bitcoin
28772877

2878-
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">wrangle_data</span><span class="hljs-params">(covid, dow, gold, btc)</span>:</span>
2879-
df = pandas.concat([covid, dow, gold, btc], axis=<span class="hljs-number">1</span>)
2878+
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">wrangle_data</span><span class="hljs-params">(covid, dow, gold, bitcoin)</span>:</span>
2879+
df = pandas.concat([covid, dow, gold, bitcoin], axis=<span class="hljs-number">1</span>)
28802880
df = df.loc[<span class="hljs-string">'2020-02-23'</span>:].iloc[:<span class="hljs-number">-2</span>]
28812881
df = df.interpolate()
28822882
df.iloc[:, <span class="hljs-number">1</span>:] = df.rolling(<span class="hljs-number">10</span>, min_periods=<span class="hljs-number">1</span>, center=<span class="hljs-keyword">True</span>).mean().iloc[:, <span class="hljs-number">1</span>:]

0 commit comments

Comments
 (0)