初步实现金字塔选股
This commit is contained in:
544
材料准备/财报信息.ipynb
Normal file
544
材料准备/财报信息.ipynb
Normal file
@@ -0,0 +1,544 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"id": "initial_id",
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"source": [
|
||||
"import pandas as pd\n",
|
||||
"import tushare as ts\n",
|
||||
"\n",
|
||||
"ts_pro = ts.pro_api(token=\"64ebff4fa679167600b905ee45dd88e76f3963c0ff39157f3f085f0e\")"
|
||||
],
|
||||
"outputs": [],
|
||||
"execution_count": null
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"def get_balance_sheet_df(start_year, end_year):\n",
|
||||
" result = ts_pro.balancesheet_vip(period=f\"{start_year}1231\")\n",
|
||||
" print(f\"Pull balance sheet: {start_year}\")\n",
|
||||
" for year in range(start_year + 1, end_year + 1):\n",
|
||||
" print(f\"Pull balance sheet: {year}\")\n",
|
||||
" period = f\"{year}1231\"\n",
|
||||
" temp = ts_pro.balancesheet_vip(period=period)\n",
|
||||
" result = pd.concat([result, temp], ignore_index=True)\n",
|
||||
" return result\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"def get_income_df(start_year, end_year):\n",
|
||||
" result = ts_pro.income_vip(period=f\"{start_year}1231\")\n",
|
||||
" print(f\"Pull income: {start_year}\")\n",
|
||||
" for year in range(start_year + 1, end_year + 1):\n",
|
||||
" print(f\"Pull income: {year}\")\n",
|
||||
" period = f\"{year}1231\"\n",
|
||||
" temp = ts_pro.income_vip(period=period)\n",
|
||||
" result = pd.concat([result, temp], ignore_index=True)\n",
|
||||
" return result\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"def get_cash_flow_df(start_year, end_year):\n",
|
||||
" result = ts_pro.cashflow_vip(period=f\"{start_year}1231\")\n",
|
||||
" print(f\"Pull cash flow: {start_year}\")\n",
|
||||
" for year in range(start_year + 1, end_year + 1):\n",
|
||||
" print(f\"Pull cash flow: {year}\")\n",
|
||||
" period = f\"{year}1231\"\n",
|
||||
" temp = ts_pro.cashflow_vip(period=period)\n",
|
||||
" result = pd.concat([result, temp], ignore_index=True)\n",
|
||||
" return result\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"def clean_df(df):\n",
|
||||
" df = df.drop_duplicates(subset=[\"ts_code\", \"end_date\"])\n",
|
||||
" df[\"end_date\"] = df[\"end_date\"].str[:4]\n",
|
||||
" return df"
|
||||
],
|
||||
"id": "14a28ff4952f0df8",
|
||||
"outputs": [],
|
||||
"execution_count": null
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"start_year = 2014\n",
|
||||
"end_year = 2024"
|
||||
],
|
||||
"id": "dc68cde196159626",
|
||||
"outputs": [],
|
||||
"execution_count": null
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"# 财务负债表\n",
|
||||
"balance_sheet_df = clean_df(get_balance_sheet_df(start_year, end_year))\n",
|
||||
"balance_sheet_df.to_csv(\"../temp/balance_sheet.csv\", index=False)"
|
||||
],
|
||||
"id": "33cd797a12ad567e",
|
||||
"outputs": [],
|
||||
"execution_count": null
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"income_df = clean_df(get_income_df(start_year, end_year))\n",
|
||||
"income_df.to_csv(\"../temp/income.csv\", index=False)"
|
||||
],
|
||||
"id": "17306c1524f5e173",
|
||||
"outputs": [],
|
||||
"execution_count": null
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"cash_flow_df = clean_df(get_cash_flow_df(start_year, end_year))\n",
|
||||
"cash_flow_df.to_csv(\"../temp/cash_flow.csv\", index=False)"
|
||||
],
|
||||
"id": "334dbe20f2047a1e",
|
||||
"outputs": [],
|
||||
"execution_count": null
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"finance_df = pd.merge(balance_sheet_df, income_df, on=[\"ts_code\", \"end_date\"])\n",
|
||||
"finance_df = pd.merge(finance_df, cash_flow_df, on=[\"ts_code\", \"end_date\"])\n",
|
||||
"finance_df.to_csv(\"../temp/finance.csv\", index=False)"
|
||||
],
|
||||
"id": "f8bea62f377b5e2",
|
||||
"outputs": [],
|
||||
"execution_count": null
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-01-12T12:04:00.424439Z",
|
||||
"start_time": "2025-01-12T12:04:00.364557Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": "finance_df",
|
||||
"id": "b14b477ca3c0f720",
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
" ts_code ann_date_x f_ann_date_x end_date report_type_x comp_type_x \\\n",
|
||||
"0 830964.BJ 20180103 20180103 2014 1 1 \n",
|
||||
"1 834765.BJ 20180105 20180105 2014 1 1 \n",
|
||||
"2 835174.BJ 20180130 20180130 2014 1 1 \n",
|
||||
"3 301076.SZ 20180117 20180117 2014 1 1 \n",
|
||||
"4 601528.SH 20180116 20180116 2014 1 2 \n",
|
||||
"... ... ... ... ... ... ... \n",
|
||||
"47434 603260.SH 20240430 20240430 2023 1 1 \n",
|
||||
"47435 603828.SH 20240430 20240430 2023 1 1 \n",
|
||||
"47436 002120.SZ 20240430 20240430 2023 1 1 \n",
|
||||
"47437 000790.SZ 20240430 20240430 2023 1 1 \n",
|
||||
"47438 000504.SZ 20240430 20240430 2023 1 1 \n",
|
||||
"\n",
|
||||
" end_type_x total_share cap_rese undistr_porfit ... \\\n",
|
||||
"0 4 6.800000e+07 1.949319e+07 5.757873e+06 ... \n",
|
||||
"1 4 1.500000e+07 2.169516e+07 9.042014e+06 ... \n",
|
||||
"2 4 5.714286e+07 NaN -7.873967e+06 ... \n",
|
||||
"3 4 5.000000e+07 NaN 1.800787e+07 ... \n",
|
||||
"4 4 1.197900e+09 3.048310e+08 1.363431e+09 ... \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"47434 4 1.182207e+09 1.138407e+10 1.921573e+10 ... \n",
|
||||
"47435 4 5.959602e+08 2.395205e+08 -1.640928e+08 ... \n",
|
||||
"47436 4 2.899193e+09 2.810602e+09 1.234578e+10 ... \n",
|
||||
"47437 4 6.281426e+08 7.375118e+07 2.299767e+08 ... \n",
|
||||
"47438 4 3.115739e+08 4.234729e+08 -5.311005e+08 ... \n",
|
||||
"\n",
|
||||
" net_dism_capital_add net_cash_rece_sec credit_impa_loss \\\n",
|
||||
"0 NaN NaN NaN \n",
|
||||
"1 NaN NaN NaN \n",
|
||||
"2 NaN NaN NaN \n",
|
||||
"3 NaN NaN NaN \n",
|
||||
"4 NaN NaN NaN \n",
|
||||
"... ... ... ... \n",
|
||||
"47434 NaN NaN NaN \n",
|
||||
"47435 NaN NaN 3.794784e+07 \n",
|
||||
"47436 NaN NaN 1.401759e+08 \n",
|
||||
"47437 NaN NaN NaN \n",
|
||||
"47438 NaN NaN NaN \n",
|
||||
"\n",
|
||||
" use_right_asset_dep oth_loss_asset end_bal_cash beg_bal_cash \\\n",
|
||||
"0 NaN None NaN NaN \n",
|
||||
"1 NaN None NaN NaN \n",
|
||||
"2 NaN None NaN NaN \n",
|
||||
"3 NaN None NaN NaN \n",
|
||||
"4 NaN None NaN NaN \n",
|
||||
"... ... ... ... ... \n",
|
||||
"47434 7.167836e+06 None 1.034290e+09 1.822382e+09 \n",
|
||||
"47435 4.186533e+06 None 1.255399e+08 1.020296e+08 \n",
|
||||
"47436 5.239484e+08 None 4.313758e+09 3.507770e+09 \n",
|
||||
"47437 2.214418e+06 None 1.164838e+08 3.787762e+07 \n",
|
||||
"47438 3.289952e+06 None 4.937811e+08 2.181183e+08 \n",
|
||||
"\n",
|
||||
" end_bal_cash_equ beg_bal_cash_equ update_flag \n",
|
||||
"0 NaN NaN 0 \n",
|
||||
"1 NaN NaN 0 \n",
|
||||
"2 NaN NaN 0 \n",
|
||||
"3 NaN NaN 1 \n",
|
||||
"4 NaN NaN 1 \n",
|
||||
"... ... ... ... \n",
|
||||
"47434 NaN NaN 1 \n",
|
||||
"47435 NaN NaN 0 \n",
|
||||
"47436 NaN NaN 1 \n",
|
||||
"47437 NaN NaN 0 \n",
|
||||
"47438 NaN NaN 0 \n",
|
||||
"\n",
|
||||
"[47439 rows x 329 columns]"
|
||||
],
|
||||
"text/html": [
|
||||
"<div>\n",
|
||||
"<style scoped>\n",
|
||||
" .dataframe tbody tr th:only-of-type {\n",
|
||||
" vertical-align: middle;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe tbody tr th {\n",
|
||||
" vertical-align: top;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe thead th {\n",
|
||||
" text-align: right;\n",
|
||||
" }\n",
|
||||
"</style>\n",
|
||||
"<table border=\"1\" class=\"dataframe\">\n",
|
||||
" <thead>\n",
|
||||
" <tr style=\"text-align: right;\">\n",
|
||||
" <th></th>\n",
|
||||
" <th>ts_code</th>\n",
|
||||
" <th>ann_date_x</th>\n",
|
||||
" <th>f_ann_date_x</th>\n",
|
||||
" <th>end_date</th>\n",
|
||||
" <th>report_type_x</th>\n",
|
||||
" <th>comp_type_x</th>\n",
|
||||
" <th>end_type_x</th>\n",
|
||||
" <th>total_share</th>\n",
|
||||
" <th>cap_rese</th>\n",
|
||||
" <th>undistr_porfit</th>\n",
|
||||
" <th>...</th>\n",
|
||||
" <th>net_dism_capital_add</th>\n",
|
||||
" <th>net_cash_rece_sec</th>\n",
|
||||
" <th>credit_impa_loss</th>\n",
|
||||
" <th>use_right_asset_dep</th>\n",
|
||||
" <th>oth_loss_asset</th>\n",
|
||||
" <th>end_bal_cash</th>\n",
|
||||
" <th>beg_bal_cash</th>\n",
|
||||
" <th>end_bal_cash_equ</th>\n",
|
||||
" <th>beg_bal_cash_equ</th>\n",
|
||||
" <th>update_flag</th>\n",
|
||||
" </tr>\n",
|
||||
" </thead>\n",
|
||||
" <tbody>\n",
|
||||
" <tr>\n",
|
||||
" <th>0</th>\n",
|
||||
" <td>830964.BJ</td>\n",
|
||||
" <td>20180103</td>\n",
|
||||
" <td>20180103</td>\n",
|
||||
" <td>2014</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>4</td>\n",
|
||||
" <td>6.800000e+07</td>\n",
|
||||
" <td>1.949319e+07</td>\n",
|
||||
" <td>5.757873e+06</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1</th>\n",
|
||||
" <td>834765.BJ</td>\n",
|
||||
" <td>20180105</td>\n",
|
||||
" <td>20180105</td>\n",
|
||||
" <td>2014</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>4</td>\n",
|
||||
" <td>1.500000e+07</td>\n",
|
||||
" <td>2.169516e+07</td>\n",
|
||||
" <td>9.042014e+06</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2</th>\n",
|
||||
" <td>835174.BJ</td>\n",
|
||||
" <td>20180130</td>\n",
|
||||
" <td>20180130</td>\n",
|
||||
" <td>2014</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>4</td>\n",
|
||||
" <td>5.714286e+07</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>-7.873967e+06</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>3</th>\n",
|
||||
" <td>301076.SZ</td>\n",
|
||||
" <td>20180117</td>\n",
|
||||
" <td>20180117</td>\n",
|
||||
" <td>2014</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>4</td>\n",
|
||||
" <td>5.000000e+07</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>1.800787e+07</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>4</th>\n",
|
||||
" <td>601528.SH</td>\n",
|
||||
" <td>20180116</td>\n",
|
||||
" <td>20180116</td>\n",
|
||||
" <td>2014</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>2</td>\n",
|
||||
" <td>4</td>\n",
|
||||
" <td>1.197900e+09</td>\n",
|
||||
" <td>3.048310e+08</td>\n",
|
||||
" <td>1.363431e+09</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>...</th>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>47434</th>\n",
|
||||
" <td>603260.SH</td>\n",
|
||||
" <td>20240430</td>\n",
|
||||
" <td>20240430</td>\n",
|
||||
" <td>2023</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>4</td>\n",
|
||||
" <td>1.182207e+09</td>\n",
|
||||
" <td>1.138407e+10</td>\n",
|
||||
" <td>1.921573e+10</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>7.167836e+06</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>1.034290e+09</td>\n",
|
||||
" <td>1.822382e+09</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>47435</th>\n",
|
||||
" <td>603828.SH</td>\n",
|
||||
" <td>20240430</td>\n",
|
||||
" <td>20240430</td>\n",
|
||||
" <td>2023</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>4</td>\n",
|
||||
" <td>5.959602e+08</td>\n",
|
||||
" <td>2.395205e+08</td>\n",
|
||||
" <td>-1.640928e+08</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>3.794784e+07</td>\n",
|
||||
" <td>4.186533e+06</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>1.255399e+08</td>\n",
|
||||
" <td>1.020296e+08</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>47436</th>\n",
|
||||
" <td>002120.SZ</td>\n",
|
||||
" <td>20240430</td>\n",
|
||||
" <td>20240430</td>\n",
|
||||
" <td>2023</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>4</td>\n",
|
||||
" <td>2.899193e+09</td>\n",
|
||||
" <td>2.810602e+09</td>\n",
|
||||
" <td>1.234578e+10</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>1.401759e+08</td>\n",
|
||||
" <td>5.239484e+08</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>4.313758e+09</td>\n",
|
||||
" <td>3.507770e+09</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>47437</th>\n",
|
||||
" <td>000790.SZ</td>\n",
|
||||
" <td>20240430</td>\n",
|
||||
" <td>20240430</td>\n",
|
||||
" <td>2023</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>4</td>\n",
|
||||
" <td>6.281426e+08</td>\n",
|
||||
" <td>7.375118e+07</td>\n",
|
||||
" <td>2.299767e+08</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>2.214418e+06</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>1.164838e+08</td>\n",
|
||||
" <td>3.787762e+07</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>47438</th>\n",
|
||||
" <td>000504.SZ</td>\n",
|
||||
" <td>20240430</td>\n",
|
||||
" <td>20240430</td>\n",
|
||||
" <td>2023</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>4</td>\n",
|
||||
" <td>3.115739e+08</td>\n",
|
||||
" <td>4.234729e+08</td>\n",
|
||||
" <td>-5.311005e+08</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>3.289952e+06</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>4.937811e+08</td>\n",
|
||||
" <td>2.181183e+08</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>NaN</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" </tr>\n",
|
||||
" </tbody>\n",
|
||||
"</table>\n",
|
||||
"<p>47439 rows × 329 columns</p>\n",
|
||||
"</div>"
|
||||
]
|
||||
},
|
||||
"execution_count": 29,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 29
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 2
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython2",
|
||||
"version": "2.7.6"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
Reference in New Issue
Block a user