Skip to content

Instantly share code, notes, and snippets.

@etheleon
Created September 1, 2017 13:00
Show Gist options
  • Select an option

  • Save etheleon/4904c56f8200bbee14bd9f53dd6cd4d7 to your computer and use it in GitHub Desktop.

Select an option

Save etheleon/4904c56f8200bbee14bd9f53dd6cd4d7 to your computer and use it in GitHub Desktop.
How to melt in pandas
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import feather\n",
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"df = feather.read_dataframe(\"/Users/uesu/Desktop/stocks.feather\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>time</th>\n",
" <th>X</th>\n",
" <th>Y</th>\n",
" <th>Z</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2009-01-01</td>\n",
" <td>0.343209</td>\n",
" <td>0.758444</td>\n",
" <td>-0.205046</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2009-01-02</td>\n",
" <td>0.602662</td>\n",
" <td>-4.481835</td>\n",
" <td>-0.713778</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2009-01-03</td>\n",
" <td>-1.237425</td>\n",
" <td>-1.215033</td>\n",
" <td>-4.703369</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2009-01-04</td>\n",
" <td>-1.005197</td>\n",
" <td>2.352330</td>\n",
" <td>2.063333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2009-01-05</td>\n",
" <td>0.682413</td>\n",
" <td>-4.447283</td>\n",
" <td>-2.545733</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2009-01-06</td>\n",
" <td>-0.368812</td>\n",
" <td>-1.691835</td>\n",
" <td>-1.132942</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2009-01-07</td>\n",
" <td>-1.286329</td>\n",
" <td>0.699224</td>\n",
" <td>-4.259443</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2009-01-08</td>\n",
" <td>-0.767148</td>\n",
" <td>-5.315969</td>\n",
" <td>-2.923909</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2009-01-09</td>\n",
" <td>-1.011213</td>\n",
" <td>0.461427</td>\n",
" <td>-2.970418</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>2009-01-10</td>\n",
" <td>-1.579582</td>\n",
" <td>-1.367709</td>\n",
" <td>-2.416805</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" time X Y Z\n",
"0 2009-01-01 0.343209 0.758444 -0.205046\n",
"1 2009-01-02 0.602662 -4.481835 -0.713778\n",
"2 2009-01-03 -1.237425 -1.215033 -4.703369\n",
"3 2009-01-04 -1.005197 2.352330 2.063333\n",
"4 2009-01-05 0.682413 -4.447283 -2.545733\n",
"5 2009-01-06 -0.368812 -1.691835 -1.132942\n",
"6 2009-01-07 -1.286329 0.699224 -4.259443\n",
"7 2009-01-08 -0.767148 -5.315969 -2.923909\n",
"8 2009-01-09 -1.011213 0.461427 -2.970418\n",
"9 2009-01-10 -1.579582 -1.367709 -2.416805"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>time</th>\n",
" <th>variable</th>\n",
" <th>value</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2009-01-01</td>\n",
" <td>X</td>\n",
" <td>0.343209</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2009-01-02</td>\n",
" <td>X</td>\n",
" <td>0.602662</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2009-01-03</td>\n",
" <td>X</td>\n",
" <td>-1.237425</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2009-01-04</td>\n",
" <td>X</td>\n",
" <td>-1.005197</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2009-01-05</td>\n",
" <td>X</td>\n",
" <td>0.682413</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2009-01-06</td>\n",
" <td>X</td>\n",
" <td>-0.368812</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2009-01-07</td>\n",
" <td>X</td>\n",
" <td>-1.286329</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2009-01-08</td>\n",
" <td>X</td>\n",
" <td>-0.767148</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2009-01-09</td>\n",
" <td>X</td>\n",
" <td>-1.011213</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>2009-01-10</td>\n",
" <td>X</td>\n",
" <td>-1.579582</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>2009-01-01</td>\n",
" <td>Y</td>\n",
" <td>0.758444</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>2009-01-02</td>\n",
" <td>Y</td>\n",
" <td>-4.481835</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>2009-01-03</td>\n",
" <td>Y</td>\n",
" <td>-1.215033</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>2009-01-04</td>\n",
" <td>Y</td>\n",
" <td>2.352330</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>2009-01-05</td>\n",
" <td>Y</td>\n",
" <td>-4.447283</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>2009-01-06</td>\n",
" <td>Y</td>\n",
" <td>-1.691835</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>2009-01-07</td>\n",
" <td>Y</td>\n",
" <td>0.699224</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>2009-01-08</td>\n",
" <td>Y</td>\n",
" <td>-5.315969</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>2009-01-09</td>\n",
" <td>Y</td>\n",
" <td>0.461427</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>2009-01-10</td>\n",
" <td>Y</td>\n",
" <td>-1.367709</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>2009-01-01</td>\n",
" <td>Z</td>\n",
" <td>-0.205046</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>2009-01-02</td>\n",
" <td>Z</td>\n",
" <td>-0.713778</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>2009-01-03</td>\n",
" <td>Z</td>\n",
" <td>-4.703369</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>2009-01-04</td>\n",
" <td>Z</td>\n",
" <td>2.063333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>2009-01-05</td>\n",
" <td>Z</td>\n",
" <td>-2.545733</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>2009-01-06</td>\n",
" <td>Z</td>\n",
" <td>-1.132942</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>2009-01-07</td>\n",
" <td>Z</td>\n",
" <td>-4.259443</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>2009-01-08</td>\n",
" <td>Z</td>\n",
" <td>-2.923909</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>2009-01-09</td>\n",
" <td>Z</td>\n",
" <td>-2.970418</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>2009-01-10</td>\n",
" <td>Z</td>\n",
" <td>-2.416805</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" time variable value\n",
"0 2009-01-01 X 0.343209\n",
"1 2009-01-02 X 0.602662\n",
"2 2009-01-03 X -1.237425\n",
"3 2009-01-04 X -1.005197\n",
"4 2009-01-05 X 0.682413\n",
"5 2009-01-06 X -0.368812\n",
"6 2009-01-07 X -1.286329\n",
"7 2009-01-08 X -0.767148\n",
"8 2009-01-09 X -1.011213\n",
"9 2009-01-10 X -1.579582\n",
"10 2009-01-01 Y 0.758444\n",
"11 2009-01-02 Y -4.481835\n",
"12 2009-01-03 Y -1.215033\n",
"13 2009-01-04 Y 2.352330\n",
"14 2009-01-05 Y -4.447283\n",
"15 2009-01-06 Y -1.691835\n",
"16 2009-01-07 Y 0.699224\n",
"17 2009-01-08 Y -5.315969\n",
"18 2009-01-09 Y 0.461427\n",
"19 2009-01-10 Y -1.367709\n",
"20 2009-01-01 Z -0.205046\n",
"21 2009-01-02 Z -0.713778\n",
"22 2009-01-03 Z -4.703369\n",
"23 2009-01-04 Z 2.063333\n",
"24 2009-01-05 Z -2.545733\n",
"25 2009-01-06 Z -1.132942\n",
"26 2009-01-07 Z -4.259443\n",
"27 2009-01-08 Z -2.923909\n",
"28 2009-01-09 Z -2.970418\n",
"29 2009-01-10 Z -2.416805"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.melt(df, [\"time\"], [\"X\", \"Y\", \"Z\"])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [conda root]",
"language": "python",
"name": "conda-root-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment