{
"cells": [
{
"cell_type": "code",
"execution_count": 16,
"id": "1408922d-4311-41bf-9467-fe650b14ce8f",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"df_fund = pd.read_excel('Fund.xlsx')\n",
"df_manager = pd.read_excel('Manager.xlsx')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "6d7abed4-1f1a-45ed-b42e-a545517c9f0b",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Fund_Codeinfo.FundID | \n",
" Symbol | \n",
" Startdate | \n",
" EndDate | \n",
" FundID | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38078 | \n",
" 38168 | \n",
" 108426.0 | \n",
"
\n",
" \n",
" 1 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38169 | \n",
" 38260 | \n",
" 108426.0 | \n",
"
\n",
" \n",
" 2 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38261 | \n",
" 38352 | \n",
" 108426.0 | \n",
"
\n",
" \n",
" 3 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38353 | \n",
" 38442 | \n",
" 108426.0 | \n",
"
\n",
" \n",
" 4 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38443 | \n",
" 38533 | \n",
" 108426.0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Fund_Codeinfo.FundID Symbol Startdate EndDate FundID\n",
"0 108426.0 1 38078 38168 108426.0\n",
"1 108426.0 1 38169 38260 108426.0\n",
"2 108426.0 1 38261 38352 108426.0\n",
"3 108426.0 1 38353 38442 108426.0\n",
"4 108426.0 1 38443 38533 108426.0"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_fund['FundID']=df_fund['Fund_Codeinfo.FundID']\n",
"df_fund.head()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "55761930-8bc3-4f4a-9cd3-5da265dc2ee2",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" FundID | \n",
" FundCompanyID | \n",
" FullName | \n",
" ServiceStartDate | \n",
" ServiceEndDate | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 108426 | \n",
" 1059 | \n",
" 王亚伟 | \n",
" 37165 | \n",
" 38533 | \n",
"
\n",
" \n",
" 1 | \n",
" 108426 | \n",
" 1059 | \n",
" 田擎 | \n",
" 37987 | \n",
" 38717 | \n",
"
\n",
" \n",
" 2 | \n",
" 108426 | \n",
" 1059 | \n",
" 巩怀志 | \n",
" 38626 | \n",
" 40268 | \n",
"
\n",
" \n",
" 3 | \n",
" 108426 | \n",
" 1059 | \n",
" 童汀 | \n",
" 40179 | \n",
" 41820 | \n",
"
\n",
" \n",
" 4 | \n",
" 108426 | \n",
" 1059 | \n",
" 孙振峰 | \n",
" 41000 | \n",
" 41455 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" FundID FundCompanyID FullName ServiceStartDate ServiceEndDate\n",
"0 108426 1059 王亚伟 37165 38533\n",
"1 108426 1059 田擎 37987 38717\n",
"2 108426 1059 巩怀志 38626 40268\n",
"3 108426 1059 童汀 40179 41820\n",
"4 108426 1059 孙振峰 41000 41455"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_manager.head()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "7a383e87-42f4-4e10-965f-af084b2dd66e",
"metadata": {},
"outputs": [],
"source": [
"df_all = pd.merge(df_fund, df_manager, how='left')"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "a2e47bb0-f20c-4e29-8f10-f9d7df8a9d59",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Fund_Codeinfo.FundID | \n",
" Symbol | \n",
" Startdate | \n",
" EndDate | \n",
" FundID | \n",
" FundCompanyID | \n",
" FullName | \n",
" ServiceStartDate | \n",
" ServiceEndDate | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38078 | \n",
" 38168 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 王亚伟 | \n",
" 37165.0 | \n",
" 38533.0 | \n",
"
\n",
" \n",
" 1 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38078 | \n",
" 38168 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 田擎 | \n",
" 37987.0 | \n",
" 38717.0 | \n",
"
\n",
" \n",
" 2 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38078 | \n",
" 38168 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 巩怀志 | \n",
" 38626.0 | \n",
" 40268.0 | \n",
"
\n",
" \n",
" 3 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38078 | \n",
" 38168 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 童汀 | \n",
" 40179.0 | \n",
" 41820.0 | \n",
"
\n",
" \n",
" 4 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38078 | \n",
" 38168 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 孙振峰 | \n",
" 41000.0 | \n",
" 41455.0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Fund_Codeinfo.FundID Symbol ... ServiceStartDate ServiceEndDate\n",
"0 108426.0 1 ... 37165.0 38533.0\n",
"1 108426.0 1 ... 37987.0 38717.0\n",
"2 108426.0 1 ... 38626.0 40268.0\n",
"3 108426.0 1 ... 40179.0 41820.0\n",
"4 108426.0 1 ... 41000.0 41455.0\n",
"\n",
"[5 rows x 9 columns]"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_all.head()"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "53897d56-6ad2-4e9b-9a58-4d59e38a20f2",
"metadata": {},
"outputs": [],
"source": [
"identifiers_test = 'Startdate >= ServiceStartDate and EndDate <= ServiceEndDate'\n",
"df_test = df_all.query(identifiers_test)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "bc60ced8-60ae-4d92-b681-e6a107c597f4",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Fund_Codeinfo.FundID | \n",
" Symbol | \n",
" Startdate | \n",
" EndDate | \n",
" FundID | \n",
" FundCompanyID | \n",
" FullName | \n",
" ServiceStartDate | \n",
" ServiceEndDate | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38078 | \n",
" 38168 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 王亚伟 | \n",
" 37165.0 | \n",
" 38533.0 | \n",
"
\n",
" \n",
" 1 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38078 | \n",
" 38168 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 田擎 | \n",
" 37987.0 | \n",
" 38717.0 | \n",
"
\n",
" \n",
" 14 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38169 | \n",
" 38260 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 王亚伟 | \n",
" 37165.0 | \n",
" 38533.0 | \n",
"
\n",
" \n",
" 15 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38169 | \n",
" 38260 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 田擎 | \n",
" 37987.0 | \n",
" 38717.0 | \n",
"
\n",
" \n",
" 28 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38261 | \n",
" 38352 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 王亚伟 | \n",
" 37165.0 | \n",
" 38533.0 | \n",
"
\n",
" \n",
" 29 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38261 | \n",
" 38352 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 田擎 | \n",
" 37987.0 | \n",
" 38717.0 | \n",
"
\n",
" \n",
" 42 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38353 | \n",
" 38442 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 王亚伟 | \n",
" 37165.0 | \n",
" 38533.0 | \n",
"
\n",
" \n",
" 43 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38353 | \n",
" 38442 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 田擎 | \n",
" 37987.0 | \n",
" 38717.0 | \n",
"
\n",
" \n",
" 56 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38443 | \n",
" 38533 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 王亚伟 | \n",
" 37165.0 | \n",
" 38533.0 | \n",
"
\n",
" \n",
" 57 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38443 | \n",
" 38533 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 田擎 | \n",
" 37987.0 | \n",
" 38717.0 | \n",
"
\n",
" \n",
" 71 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38534 | \n",
" 38625 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 田擎 | \n",
" 37987.0 | \n",
" 38717.0 | \n",
"
\n",
" \n",
" 85 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38626 | \n",
" 38717 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 田擎 | \n",
" 37987.0 | \n",
" 38717.0 | \n",
"
\n",
" \n",
" 86 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38626 | \n",
" 38717 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 巩怀志 | \n",
" 38626.0 | \n",
" 40268.0 | \n",
"
\n",
" \n",
" 100 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38718 | \n",
" 38807 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 巩怀志 | \n",
" 38626.0 | \n",
" 40268.0 | \n",
"
\n",
" \n",
" 114 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38808 | \n",
" 38898 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 巩怀志 | \n",
" 38626.0 | \n",
" 40268.0 | \n",
"
\n",
" \n",
" 128 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38899 | \n",
" 38990 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 巩怀志 | \n",
" 38626.0 | \n",
" 40268.0 | \n",
"
\n",
" \n",
" 142 | \n",
" 108426.0 | \n",
" 1 | \n",
" 38991 | \n",
" 39082 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 巩怀志 | \n",
" 38626.0 | \n",
" 40268.0 | \n",
"
\n",
" \n",
" 156 | \n",
" 108426.0 | \n",
" 1 | \n",
" 39083 | \n",
" 39172 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 巩怀志 | \n",
" 38626.0 | \n",
" 40268.0 | \n",
"
\n",
" \n",
" 170 | \n",
" 108426.0 | \n",
" 1 | \n",
" 39173 | \n",
" 39263 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 巩怀志 | \n",
" 38626.0 | \n",
" 40268.0 | \n",
"
\n",
" \n",
" 184 | \n",
" 108426.0 | \n",
" 1 | \n",
" 39264 | \n",
" 39355 | \n",
" 108426.0 | \n",
" 1059.0 | \n",
" 巩怀志 | \n",
" 38626.0 | \n",
" 40268.0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Fund_Codeinfo.FundID Symbol ... ServiceStartDate ServiceEndDate\n",
"0 108426.0 1 ... 37165.0 38533.0\n",
"1 108426.0 1 ... 37987.0 38717.0\n",
"14 108426.0 1 ... 37165.0 38533.0\n",
"15 108426.0 1 ... 37987.0 38717.0\n",
"28 108426.0 1 ... 37165.0 38533.0\n",
"29 108426.0 1 ... 37987.0 38717.0\n",
"42 108426.0 1 ... 37165.0 38533.0\n",
"43 108426.0 1 ... 37987.0 38717.0\n",
"56 108426.0 1 ... 37165.0 38533.0\n",
"57 108426.0 1 ... 37987.0 38717.0\n",
"71 108426.0 1 ... 37987.0 38717.0\n",
"85 108426.0 1 ... 37987.0 38717.0\n",
"86 108426.0 1 ... 38626.0 40268.0\n",
"100 108426.0 1 ... 38626.0 40268.0\n",
"114 108426.0 1 ... 38626.0 40268.0\n",
"128 108426.0 1 ... 38626.0 40268.0\n",
"142 108426.0 1 ... 38626.0 40268.0\n",
"156 108426.0 1 ... 38626.0 40268.0\n",
"170 108426.0 1 ... 38626.0 40268.0\n",
"184 108426.0 1 ... 38626.0 40268.0\n",
"\n",
"[20 rows x 9 columns]"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_test.head(n=20)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "9964f2ab-877f-4707-9983-4ec1fcaf9847",
"metadata": {},
"outputs": [],
"source": [
"df_test.to_csv('df_test.csv',index = False, encoding='utf_8_sig')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ba4ac974-b01e-4269-9988-540e0c11d65a",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "c942eb9d-e770-4071-bc2c-874b791e4ed0",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "81e449d3-8d39-453b-8840-91e75f3f323e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "5d9fe387-e77c-4f7c-ad30-6c2d8e3353df",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "deb35b45-33fb-43db-b0c3-4acc5f35cb93",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "b3c2c224-52c5-40c4-9163-2f40b12e331b",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 17,
"id": "21edd89a-9c9d-4a35-8ba1-2638fac2f413",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" V2 | \n",
" V2A | \n",
" V9 | \n",
" V186 | \n",
" V187 | \n",
" V192 | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 20 | \n",
" 20 | \n",
" 4 | \n",
" 7 | \n",
" 2 | \n",
" 3 | \n",
"
\n",
" \n",
" 1 | \n",
" 20 | \n",
" 20 | \n",
" 3 | \n",
" 7 | \n",
" 1 | \n",
" 10 | \n",
"
\n",
" \n",
" 2 | \n",
" 20 | \n",
" 20 | \n",
" 4 | \n",
" 7 | \n",
" 2 | \n",
" 5 | \n",
"
\n",
" \n",
" 3 | \n",
" 20 | \n",
" 20 | \n",
" 3 | \n",
" 7 | \n",
" 1 | \n",
" 8 | \n",
"
\n",
" \n",
" 4 | \n",
" 20 | \n",
" 20 | \n",
" 4 | \n",
" 7 | \n",
" 3 | \n",
" 1 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" V2 V2A V9 V186 V187 V192\n",
"0 20 20 4 7 2 3\n",
"1 20 20 3 7 1 10\n",
"2 20 20 4 7 2 5\n",
"3 20 20 3 7 1 8\n",
"4 20 20 4 7 3 1"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"cols = ['V2','V2A','V9','V186','V187','V192']\n",
"df_wv = pd.read_excel('WV5_Data_Spss_v20180912.xlsx',header=0, usecols=cols)\n",
"df_wv.head()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "0b30ce3e-4a19-4430-8594-124121470fd7",
"metadata": {},
"outputs": [],
"source": [
"df_melt = df_wv.melt(id_vars=['V2','V2A'],value_vars=['V9','V186','V187','V192'])"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "2afcf31b-2380-4b9c-a07c-d4765cd572b9",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" V2 | \n",
" V2A | \n",
" variable | \n",
" value | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 20 | \n",
" 20 | \n",
" V9 | \n",
" 4 | \n",
"
\n",
" \n",
" 1 | \n",
" 20 | \n",
" 20 | \n",
" V9 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 20 | \n",
" 20 | \n",
" V9 | \n",
" 4 | \n",
"
\n",
" \n",
" 3 | \n",
" 20 | \n",
" 20 | \n",
" V9 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" 20 | \n",
" 20 | \n",
" V9 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" V2 V2A variable value\n",
"0 20 20 V9 4\n",
"1 20 20 V9 3\n",
"2 20 20 V9 4\n",
"3 20 20 V9 3\n",
"4 20 20 V9 4"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_melt.head()"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "66d4bbd4-57c1-4214-bf5a-9f4157455faf",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" V2 | \n",
" V2A | \n",
" variable | \n",
" value | \n",
" count | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" -2 | \n",
" 5 | \n",
"
\n",
" \n",
" 1 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 1 | \n",
" 11 | \n",
"
\n",
" \n",
" 2 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 2 | \n",
" 50 | \n",
"
\n",
" \n",
" 3 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 3 | \n",
" 56 | \n",
"
\n",
" \n",
" 4 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 4 | \n",
" 125 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" V2 V2A variable value count\n",
"0 20 20 V186 -2 5\n",
"1 20 20 V186 1 11\n",
"2 20 20 V186 2 50\n",
"3 20 20 V186 3 56\n",
"4 20 20 V186 4 125"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_t1 = df_melt.groupby(['V2','V2A','variable','value']).agg('size').reset_index(name='count')\n",
"df_t1.head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "65e18586-c3c7-44fb-9704-7054eb8262a5",
"metadata": {},
"outputs": [],
"source": [
"df_t2 = df_t1.groupby(['V2','V2A','variable']).agg({'count': 'sum'})\n",
"df_t2.head()"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "536fcf9a-aba6-4dc9-9c65-5e01a4b9a7bf",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" V2 | \n",
" V2A | \n",
" variable | \n",
" value | \n",
" count_x | \n",
" count_y | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" -2 | \n",
" 5 | \n",
" 1003 | \n",
"
\n",
" \n",
" 1 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 1 | \n",
" 11 | \n",
" 1003 | \n",
"
\n",
" \n",
" 2 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 2 | \n",
" 50 | \n",
" 1003 | \n",
"
\n",
" \n",
" 3 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 3 | \n",
" 56 | \n",
" 1003 | \n",
"
\n",
" \n",
" 4 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 4 | \n",
" 125 | \n",
" 1003 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" V2 V2A variable value count_x count_y\n",
"0 20 20 V186 -2 5 1003\n",
"1 20 20 V186 1 11 1003\n",
"2 20 20 V186 2 50 1003\n",
"3 20 20 V186 3 56 1003\n",
"4 20 20 V186 4 125 1003"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_tt = pd.merge(df_t1,df_t2,on=['V2','V2A','variable'],how='left')\n",
"df_tt.head()"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "6190a9e9-516b-4b73-a837-3b9c5a775e75",
"metadata": {},
"outputs": [],
"source": [
"df_tt['percent']= df_tt['count_x']/df_tt['count_y']"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "14b79b6a-20bb-49f7-97fe-6e83c7896190",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" V2 | \n",
" V2A | \n",
" variable | \n",
" value | \n",
" count_x | \n",
" count_y | \n",
" percent | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" -2 | \n",
" 5 | \n",
" 1003 | \n",
" 0.004985 | \n",
"
\n",
" \n",
" 1 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 1 | \n",
" 11 | \n",
" 1003 | \n",
" 0.010967 | \n",
"
\n",
" \n",
" 2 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 2 | \n",
" 50 | \n",
" 1003 | \n",
" 0.049850 | \n",
"
\n",
" \n",
" 3 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 3 | \n",
" 56 | \n",
" 1003 | \n",
" 0.055833 | \n",
"
\n",
" \n",
" 4 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 4 | \n",
" 125 | \n",
" 1003 | \n",
" 0.124626 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" V2 V2A variable value count_x count_y percent\n",
"0 20 20 V186 -2 5 1003 0.004985\n",
"1 20 20 V186 1 11 1003 0.010967\n",
"2 20 20 V186 2 50 1003 0.049850\n",
"3 20 20 V186 3 56 1003 0.055833\n",
"4 20 20 V186 4 125 1003 0.124626"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_tt.head()"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "748e87fc-d74d-46ec-8dde-f354d08dfcda",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" V2 | \n",
" V2A | \n",
" variable | \n",
" value | \n",
" count_x | \n",
" count_y | \n",
" percent | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 1 | \n",
" 11 | \n",
" 1003 | \n",
" 0.010967 | \n",
"
\n",
" \n",
" 31 | \n",
" 32 | \n",
" 32 | \n",
" V186 | \n",
" 1 | \n",
" 57 | \n",
" 1002 | \n",
" 0.056886 | \n",
"
\n",
" \n",
" 62 | \n",
" 36 | \n",
" 36 | \n",
" V186 | \n",
" 1 | \n",
" 56 | \n",
" 1421 | \n",
" 0.039409 | \n",
"
\n",
" \n",
" 90 | \n",
" 76 | \n",
" 76 | \n",
" V186 | \n",
" 1 | \n",
" 335 | \n",
" 1500 | \n",
" 0.223333 | \n",
"
\n",
" \n",
" 119 | \n",
" 100 | \n",
" 100 | \n",
" V186 | \n",
" 1 | \n",
" 13 | \n",
" 1001 | \n",
" 0.012987 | \n",
"
\n",
" \n",
" 150 | \n",
" 124 | \n",
" 124 | \n",
" V186 | \n",
" 1 | \n",
" 133 | \n",
" 2164 | \n",
" 0.061460 | \n",
"
\n",
" \n",
" 182 | \n",
" 152 | \n",
" 152 | \n",
" V186 | \n",
" 1 | \n",
" 70 | \n",
" 1000 | \n",
" 0.070000 | \n",
"
\n",
" \n",
" 214 | \n",
" 156 | \n",
" 156 | \n",
" V186 | \n",
" 1 | \n",
" 22 | \n",
" 1991 | \n",
" 0.011050 | \n",
"
\n",
" \n",
" 244 | \n",
" 158 | \n",
" 158 | \n",
" V186 | \n",
" 1 | \n",
" 41 | \n",
" 1227 | \n",
" 0.033415 | \n",
"
\n",
" \n",
" 271 | \n",
" 170 | \n",
" 170 | \n",
" V186 | \n",
" 1 | \n",
" 326 | \n",
" 3025 | \n",
" 0.107769 | \n",
"
\n",
" \n",
" 295 | \n",
" 196 | \n",
" 196 | \n",
" V186 | \n",
" 1 | \n",
" 44 | \n",
" 1050 | \n",
" 0.041905 | \n",
"
\n",
" \n",
" 322 | \n",
" 231 | \n",
" 231 | \n",
" V186 | \n",
" 1 | \n",
" 559 | \n",
" 1500 | \n",
" 0.372667 | \n",
"
\n",
" \n",
" 352 | \n",
" 246 | \n",
" 246 | \n",
" V186 | \n",
" 1 | \n",
" 19 | \n",
" 1014 | \n",
" 0.018738 | \n",
"
\n",
" \n",
" 386 | \n",
" 250 | \n",
" 250 | \n",
" V186 | \n",
" 1 | \n",
" 16 | \n",
" 1001 | \n",
" 0.015984 | \n",
"
\n",
" \n",
" 416 | \n",
" 268 | \n",
" 268 | \n",
" V186 | \n",
" 1 | \n",
" 57 | \n",
" 1500 | \n",
" 0.038000 | \n",
"
\n",
" \n",
" 449 | \n",
" 276 | \n",
" 900 | \n",
" V186 | \n",
" 1 | \n",
" 15 | \n",
" 988 | \n",
" 0.015182 | \n",
"
\n",
" \n",
" 483 | \n",
" 276 | \n",
" 901 | \n",
" V186 | \n",
" 1 | \n",
" 5 | \n",
" 1076 | \n",
" 0.004647 | \n",
"
\n",
" \n",
" 514 | \n",
" 288 | \n",
" 288 | \n",
" V186 | \n",
" 1 | \n",
" 692 | \n",
" 1534 | \n",
" 0.451108 | \n",
"
\n",
" \n",
" 544 | \n",
" 320 | \n",
" 320 | \n",
" V186 | \n",
" 1 | \n",
" 339 | \n",
" 1000 | \n",
" 0.339000 | \n",
"
\n",
" \n",
" 572 | \n",
" 344 | \n",
" 344 | \n",
" V186 | \n",
" 1 | \n",
" 69 | \n",
" 1252 | \n",
" 0.055112 | \n",
"
\n",
" \n",
" 601 | \n",
" 348 | \n",
" 348 | \n",
" V186 | \n",
" 1 | \n",
" 14 | \n",
" 1007 | \n",
" 0.013903 | \n",
"
\n",
" \n",
" 633 | \n",
" 356 | \n",
" 356 | \n",
" V186 | \n",
" 1 | \n",
" 427 | \n",
" 2001 | \n",
" 0.213393 | \n",
"
\n",
" \n",
" 658 | \n",
" 360 | \n",
" 360 | \n",
" V186 | \n",
" 1 | \n",
" 599 | \n",
" 2015 | \n",
" 0.297270 | \n",
"
\n",
" \n",
" 692 | \n",
" 364 | \n",
" 364 | \n",
" V186 | \n",
" 1 | \n",
" 541 | \n",
" 2667 | \n",
" 0.202850 | \n",
"
\n",
" \n",
" 722 | \n",
" 368 | \n",
" 368 | \n",
" V186 | \n",
" 1 | \n",
" 418 | \n",
" 2701 | \n",
" 0.154757 | \n",
"
\n",
" \n",
" 754 | \n",
" 380 | \n",
" 380 | \n",
" V186 | \n",
" 1 | \n",
" 74 | \n",
" 1012 | \n",
" 0.073123 | \n",
"
\n",
" \n",
" 785 | \n",
" 392 | \n",
" 392 | \n",
" V186 | \n",
" 1 | \n",
" 19 | \n",
" 1096 | \n",
" 0.017336 | \n",
"
\n",
" \n",
" 830 | \n",
" 410 | \n",
" 410 | \n",
" V186 | \n",
" 1 | \n",
" 228 | \n",
" 1200 | \n",
" 0.190000 | \n",
"
\n",
" \n",
" 858 | \n",
" 458 | \n",
" 458 | \n",
" V186 | \n",
" 1 | \n",
" 809 | \n",
" 1201 | \n",
" 0.673605 | \n",
"
\n",
" \n",
" 886 | \n",
" 466 | \n",
" 466 | \n",
" V186 | \n",
" 1 | \n",
" 861 | \n",
" 1534 | \n",
" 0.561278 | \n",
"
\n",
" \n",
" 920 | \n",
" 484 | \n",
" 484 | \n",
" V186 | \n",
" 1 | \n",
" 186 | \n",
" 1560 | \n",
" 0.119231 | \n",
"
\n",
" \n",
" 950 | \n",
" 498 | \n",
" 498 | \n",
" V186 | \n",
" 1 | \n",
" 47 | \n",
" 1046 | \n",
" 0.044933 | \n",
"
\n",
" \n",
" 980 | \n",
" 504 | \n",
" 504 | \n",
" V186 | \n",
" 1 | \n",
" 1014 | \n",
" 1200 | \n",
" 0.845000 | \n",
"
\n",
" \n",
" 1009 | \n",
" 528 | \n",
" 528 | \n",
" V186 | \n",
" 1 | \n",
" 25 | \n",
" 1050 | \n",
" 0.023810 | \n",
"
\n",
" \n",
" 1043 | \n",
" 554 | \n",
" 554 | \n",
" V186 | \n",
" 1 | \n",
" 46 | \n",
" 954 | \n",
" 0.048218 | \n",
"
\n",
" \n",
" 1075 | \n",
" 578 | \n",
" 578 | \n",
" V186 | \n",
" 1 | \n",
" 8 | \n",
" 1025 | \n",
" 0.007805 | \n",
"
\n",
" \n",
" 1104 | \n",
" 604 | \n",
" 604 | \n",
" V186 | \n",
" 1 | \n",
" 156 | \n",
" 1500 | \n",
" 0.104000 | \n",
"
\n",
" \n",
" 1133 | \n",
" 616 | \n",
" 616 | \n",
" V186 | \n",
" 1 | \n",
" 91 | \n",
" 1000 | \n",
" 0.091000 | \n",
"
\n",
" \n",
" 1164 | \n",
" 642 | \n",
" 642 | \n",
" V186 | \n",
" 1 | \n",
" 78 | \n",
" 1776 | \n",
" 0.043919 | \n",
"
\n",
" \n",
" 1197 | \n",
" 643 | \n",
" 643 | \n",
" V186 | \n",
" 1 | \n",
" 19 | \n",
" 2033 | \n",
" 0.009346 | \n",
"
\n",
" \n",
" 1230 | \n",
" 646 | \n",
" 646 | \n",
" V186 | \n",
" 1 | \n",
" 1238 | \n",
" 1507 | \n",
" 0.821500 | \n",
"
\n",
" \n",
" 1260 | \n",
" 688 | \n",
" 688 | \n",
" V186 | \n",
" 1 | \n",
" 52 | \n",
" 1220 | \n",
" 0.042623 | \n",
"
\n",
" \n",
" 1293 | \n",
" 704 | \n",
" 704 | \n",
" V186 | \n",
" 1 | \n",
" 27 | \n",
" 1495 | \n",
" 0.018060 | \n",
"
\n",
" \n",
" 1328 | \n",
" 705 | \n",
" 705 | \n",
" V186 | \n",
" 1 | \n",
" 16 | \n",
" 1037 | \n",
" 0.015429 | \n",
"
\n",
" \n",
" 1358 | \n",
" 710 | \n",
" 710 | \n",
" V186 | \n",
" 1 | \n",
" 487 | \n",
" 2988 | \n",
" 0.162985 | \n",
"
\n",
" \n",
" 1388 | \n",
" 724 | \n",
" 724 | \n",
" V186 | \n",
" 1 | \n",
" 20 | \n",
" 1200 | \n",
" 0.016667 | \n",
"
\n",
" \n",
" 1421 | \n",
" 752 | \n",
" 752 | \n",
" V186 | \n",
" 1 | \n",
" 5 | \n",
" 1003 | \n",
" 0.004985 | \n",
"
\n",
" \n",
" 1450 | \n",
" 756 | \n",
" 756 | \n",
" V186 | \n",
" 1 | \n",
" 33 | \n",
" 1241 | \n",
" 0.026591 | \n",
"
\n",
" \n",
" 1482 | \n",
" 764 | \n",
" 764 | \n",
" V186 | \n",
" 1 | \n",
" 348 | \n",
" 1534 | \n",
" 0.226858 | \n",
"
\n",
" \n",
" 1510 | \n",
" 780 | \n",
" 780 | \n",
" V186 | \n",
" 1 | \n",
" 184 | \n",
" 1002 | \n",
" 0.183633 | \n",
"
\n",
" \n",
" 1543 | \n",
" 792 | \n",
" 792 | \n",
" V186 | \n",
" 1 | \n",
" 184 | \n",
" 1346 | \n",
" 0.136701 | \n",
"
\n",
" \n",
" 1576 | \n",
" 804 | \n",
" 804 | \n",
" V186 | \n",
" 1 | \n",
" 22 | \n",
" 1000 | \n",
" 0.022000 | \n",
"
\n",
" \n",
" 1608 | \n",
" 818 | \n",
" 818 | \n",
" V186 | \n",
" 1 | \n",
" 737 | \n",
" 3051 | \n",
" 0.241560 | \n",
"
\n",
" \n",
" 1635 | \n",
" 826 | \n",
" 826 | \n",
" V186 | \n",
" 1 | \n",
" 74 | \n",
" 1041 | \n",
" 0.071085 | \n",
"
\n",
" \n",
" 1669 | \n",
" 840 | \n",
" 840 | \n",
" V186 | \n",
" 1 | \n",
" 147 | \n",
" 1249 | \n",
" 0.117694 | \n",
"
\n",
" \n",
" 1698 | \n",
" 854 | \n",
" 854 | \n",
" V186 | \n",
" 1 | \n",
" 839 | \n",
" 1534 | \n",
" 0.546936 | \n",
"
\n",
" \n",
" 1732 | \n",
" 858 | \n",
" 858 | \n",
" V186 | \n",
" 1 | \n",
" 43 | \n",
" 1000 | \n",
" 0.043000 | \n",
"
\n",
" \n",
" 1759 | \n",
" 894 | \n",
" 894 | \n",
" V186 | \n",
" 1 | \n",
" 413 | \n",
" 1500 | \n",
" 0.275333 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" V2 V2A variable value count_x count_y percent\n",
"1 20 20 V186 1 11 1003 0.010967\n",
"31 32 32 V186 1 57 1002 0.056886\n",
"62 36 36 V186 1 56 1421 0.039409\n",
"90 76 76 V186 1 335 1500 0.223333\n",
"119 100 100 V186 1 13 1001 0.012987\n",
"150 124 124 V186 1 133 2164 0.061460\n",
"182 152 152 V186 1 70 1000 0.070000\n",
"214 156 156 V186 1 22 1991 0.011050\n",
"244 158 158 V186 1 41 1227 0.033415\n",
"271 170 170 V186 1 326 3025 0.107769\n",
"295 196 196 V186 1 44 1050 0.041905\n",
"322 231 231 V186 1 559 1500 0.372667\n",
"352 246 246 V186 1 19 1014 0.018738\n",
"386 250 250 V186 1 16 1001 0.015984\n",
"416 268 268 V186 1 57 1500 0.038000\n",
"449 276 900 V186 1 15 988 0.015182\n",
"483 276 901 V186 1 5 1076 0.004647\n",
"514 288 288 V186 1 692 1534 0.451108\n",
"544 320 320 V186 1 339 1000 0.339000\n",
"572 344 344 V186 1 69 1252 0.055112\n",
"601 348 348 V186 1 14 1007 0.013903\n",
"633 356 356 V186 1 427 2001 0.213393\n",
"658 360 360 V186 1 599 2015 0.297270\n",
"692 364 364 V186 1 541 2667 0.202850\n",
"722 368 368 V186 1 418 2701 0.154757\n",
"754 380 380 V186 1 74 1012 0.073123\n",
"785 392 392 V186 1 19 1096 0.017336\n",
"830 410 410 V186 1 228 1200 0.190000\n",
"858 458 458 V186 1 809 1201 0.673605\n",
"886 466 466 V186 1 861 1534 0.561278\n",
"920 484 484 V186 1 186 1560 0.119231\n",
"950 498 498 V186 1 47 1046 0.044933\n",
"980 504 504 V186 1 1014 1200 0.845000\n",
"1009 528 528 V186 1 25 1050 0.023810\n",
"1043 554 554 V186 1 46 954 0.048218\n",
"1075 578 578 V186 1 8 1025 0.007805\n",
"1104 604 604 V186 1 156 1500 0.104000\n",
"1133 616 616 V186 1 91 1000 0.091000\n",
"1164 642 642 V186 1 78 1776 0.043919\n",
"1197 643 643 V186 1 19 2033 0.009346\n",
"1230 646 646 V186 1 1238 1507 0.821500\n",
"1260 688 688 V186 1 52 1220 0.042623\n",
"1293 704 704 V186 1 27 1495 0.018060\n",
"1328 705 705 V186 1 16 1037 0.015429\n",
"1358 710 710 V186 1 487 2988 0.162985\n",
"1388 724 724 V186 1 20 1200 0.016667\n",
"1421 752 752 V186 1 5 1003 0.004985\n",
"1450 756 756 V186 1 33 1241 0.026591\n",
"1482 764 764 V186 1 348 1534 0.226858\n",
"1510 780 780 V186 1 184 1002 0.183633\n",
"1543 792 792 V186 1 184 1346 0.136701\n",
"1576 804 804 V186 1 22 1000 0.022000\n",
"1608 818 818 V186 1 737 3051 0.241560\n",
"1635 826 826 V186 1 74 1041 0.071085\n",
"1669 840 840 V186 1 147 1249 0.117694\n",
"1698 854 854 V186 1 839 1534 0.546936\n",
"1732 858 858 V186 1 43 1000 0.043000\n",
"1759 894 894 V186 1 413 1500 0.275333"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tt_query = \"variable == 'V186' and value == 1 \"\n",
"df_tt.query(tt_query)"
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "e5da4408-de69-4a79-8585-aaff547abfe3",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" V2 | \n",
" V2A | \n",
" variable | \n",
" value | \n",
" count_x | \n",
" count_y | \n",
" percent | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 1 | \n",
" 11 | \n",
" 1003 | \n",
" 0.010967 | \n",
"
\n",
" \n",
" 27 | \n",
" 20 | \n",
" 20 | \n",
" V9 | \n",
" 1 | \n",
" 79 | \n",
" 1003 | \n",
" 0.078764 | \n",
"
\n",
" \n",
" 28 | \n",
" 20 | \n",
" 20 | \n",
" V9 | \n",
" 2 | \n",
" 205 | \n",
" 1003 | \n",
" 0.204387 | \n",
"
\n",
" \n",
" 31 | \n",
" 32 | \n",
" 32 | \n",
" V186 | \n",
" 1 | \n",
" 57 | \n",
" 1002 | \n",
" 0.056886 | \n",
"
\n",
" \n",
" 57 | \n",
" 32 | \n",
" 32 | \n",
" V9 | \n",
" 1 | \n",
" 315 | \n",
" 1002 | \n",
" 0.314371 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 1755 | \n",
" 858 | \n",
" 858 | \n",
" V9 | \n",
" 1 | \n",
" 226 | \n",
" 1000 | \n",
" 0.226000 | \n",
"
\n",
" \n",
" 1756 | \n",
" 858 | \n",
" 858 | \n",
" V9 | \n",
" 2 | \n",
" 230 | \n",
" 1000 | \n",
" 0.230000 | \n",
"
\n",
" \n",
" 1759 | \n",
" 894 | \n",
" 894 | \n",
" V186 | \n",
" 1 | \n",
" 413 | \n",
" 1500 | \n",
" 0.275333 | \n",
"
\n",
" \n",
" 1786 | \n",
" 894 | \n",
" 894 | \n",
" V9 | \n",
" 1 | \n",
" 1134 | \n",
" 1500 | \n",
" 0.756000 | \n",
"
\n",
" \n",
" 1787 | \n",
" 894 | \n",
" 894 | \n",
" V9 | \n",
" 2 | \n",
" 244 | \n",
" 1500 | \n",
" 0.162667 | \n",
"
\n",
" \n",
"
\n",
"
174 rows × 7 columns
\n",
"
"
],
"text/plain": [
" V2 V2A variable value count_x count_y percent\n",
"1 20 20 V186 1 11 1003 0.010967\n",
"27 20 20 V9 1 79 1003 0.078764\n",
"28 20 20 V9 2 205 1003 0.204387\n",
"31 32 32 V186 1 57 1002 0.056886\n",
"57 32 32 V9 1 315 1002 0.314371\n",
"... ... ... ... ... ... ... ...\n",
"1755 858 858 V9 1 226 1000 0.226000\n",
"1756 858 858 V9 2 230 1000 0.230000\n",
"1759 894 894 V186 1 413 1500 0.275333\n",
"1786 894 894 V9 1 1134 1500 0.756000\n",
"1787 894 894 V9 2 244 1500 0.162667\n",
"\n",
"[174 rows x 7 columns]"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tt_query = \"variable == 'V186' and value == 1 | variable == 'V9' and value == [1,2]\"\n",
"df_tt.query(tt_query)"
]
},
{
"cell_type": "code",
"execution_count": 61,
"id": "4c8fa8bc-10f6-4101-a3f3-6271a4b6c4a8",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" | \n",
" | \n",
" percent | \n",
"
\n",
" \n",
" V2 | \n",
" V2A | \n",
" variable | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 0.010967 | \n",
"
\n",
" \n",
" V9 | \n",
" 0.283151 | \n",
"
\n",
" \n",
" 32 | \n",
" 32 | \n",
" V186 | \n",
" 0.056886 | \n",
"
\n",
" \n",
" V9 | \n",
" 0.632735 | \n",
"
\n",
" \n",
" 36 | \n",
" 36 | \n",
" V186 | \n",
" 0.039409 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" percent\n",
"V2 V2A variable \n",
"20 20 V186 0.010967\n",
" V9 0.283151\n",
"32 32 V186 0.056886\n",
" V9 0.632735\n",
"36 36 V186 0.039409"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_t_final = df_tt.query(tt_query)\n",
"# df_final_new = df_t_final.groupby(['V2','V2A','variable']).agg({'percent': 'sum'})\n",
"# df_final_new.head()"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "c1ee9e45-fecd-41b1-925d-0fda25b8866f",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" V2 | \n",
" V2A | \n",
" variable | \n",
" value | \n",
" count_x | \n",
" count_y | \n",
" percent | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 1 | \n",
" 11 | \n",
" 1003 | \n",
" 0.010967 | \n",
"
\n",
" \n",
" 27 | \n",
" 20 | \n",
" 20 | \n",
" V9 | \n",
" 1 | \n",
" 79 | \n",
" 1003 | \n",
" 0.078764 | \n",
"
\n",
" \n",
" 28 | \n",
" 20 | \n",
" 20 | \n",
" V9 | \n",
" 2 | \n",
" 205 | \n",
" 1003 | \n",
" 0.204387 | \n",
"
\n",
" \n",
" 31 | \n",
" 32 | \n",
" 32 | \n",
" V186 | \n",
" 1 | \n",
" 57 | \n",
" 1002 | \n",
" 0.056886 | \n",
"
\n",
" \n",
" 57 | \n",
" 32 | \n",
" 32 | \n",
" V9 | \n",
" 1 | \n",
" 315 | \n",
" 1002 | \n",
" 0.314371 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" V2 V2A variable value count_x count_y percent\n",
"1 20 20 V186 1 11 1003 0.010967\n",
"27 20 20 V9 1 79 1003 0.078764\n",
"28 20 20 V9 2 205 1003 0.204387\n",
"31 32 32 V186 1 57 1002 0.056886\n",
"57 32 32 V9 1 315 1002 0.314371"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_t_final.head()"
]
},
{
"cell_type": "code",
"execution_count": 63,
"id": "cdc955e2-3c40-41e4-82c6-7517ec453f63",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" | \n",
" | \n",
" percent | \n",
"
\n",
" \n",
" V2 | \n",
" V2A | \n",
" variable | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 0.010967 | \n",
"
\n",
" \n",
" V9 | \n",
" 0.283151 | \n",
"
\n",
" \n",
" 32 | \n",
" 32 | \n",
" V186 | \n",
" 0.056886 | \n",
"
\n",
" \n",
" V9 | \n",
" 0.632735 | \n",
"
\n",
" \n",
" 36 | \n",
" 36 | \n",
" V186 | \n",
" 0.039409 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 854 | \n",
" 854 | \n",
" V9 | \n",
" 0.947849 | \n",
"
\n",
" \n",
" 858 | \n",
" 858 | \n",
" V186 | \n",
" 0.043000 | \n",
"
\n",
" \n",
" V9 | \n",
" 0.456000 | \n",
"
\n",
" \n",
" 894 | \n",
" 894 | \n",
" V186 | \n",
" 0.275333 | \n",
"
\n",
" \n",
" V9 | \n",
" 0.918667 | \n",
"
\n",
" \n",
"
\n",
"
116 rows × 1 columns
\n",
"
"
],
"text/plain": [
" percent\n",
"V2 V2A variable \n",
"20 20 V186 0.010967\n",
" V9 0.283151\n",
"32 32 V186 0.056886\n",
" V9 0.632735\n",
"36 36 V186 0.039409\n",
"... ...\n",
"854 854 V9 0.947849\n",
"858 858 V186 0.043000\n",
" V9 0.456000\n",
"894 894 V186 0.275333\n",
" V9 0.918667\n",
"\n",
"[116 rows x 1 columns]"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_t_final.groupby(['V2','V2A','variable']).agg({'percent': 'sum'})"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "28efd42b-666a-49fc-96c1-9296dff91505",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" | \n",
" | \n",
" percent | \n",
"
\n",
" \n",
" V2 | \n",
" V2A | \n",
" variable | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 0.010967 | \n",
"
\n",
" \n",
" V9 | \n",
" 0.283151 | \n",
"
\n",
" \n",
" 32 | \n",
" 32 | \n",
" V186 | \n",
" 0.056886 | \n",
"
\n",
" \n",
" V9 | \n",
" 0.632735 | \n",
"
\n",
" \n",
" 36 | \n",
" 36 | \n",
" V186 | \n",
" 0.039409 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" percent\n",
"V2 V2A variable \n",
"20 20 V186 0.010967\n",
" V9 0.283151\n",
"32 32 V186 0.056886\n",
" V9 0.632735\n",
"36 36 V186 0.039409"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_final_new = df_t_final.groupby(['V2','V2A','variable']).agg({'percent': 'sum'})\n",
"df_final_new.head()"
]
},
{
"cell_type": "code",
"execution_count": 91,
"id": "a0f19f13-c75d-47f1-af35-8786214a93b1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" V2 | \n",
" V2A | \n",
" variable | \n",
" percent | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 20 | \n",
" 20 | \n",
" V186 | \n",
" 0.010967 | \n",
"
\n",
" \n",
" 1 | \n",
" 20 | \n",
" 20 | \n",
" V9 | \n",
" 0.283151 | \n",
"
\n",
" \n",
" 2 | \n",
" 32 | \n",
" 32 | \n",
" V186 | \n",
" 0.056886 | \n",
"
\n",
" \n",
" 3 | \n",
" 32 | \n",
" 32 | \n",
" V9 | \n",
" 0.632735 | \n",
"
\n",
" \n",
" 4 | \n",
" 36 | \n",
" 36 | \n",
" V186 | \n",
" 0.039409 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" V2 V2A variable percent\n",
"0 20 20 V186 0.010967\n",
"1 20 20 V9 0.283151\n",
"2 32 32 V186 0.056886\n",
"3 32 32 V9 0.632735\n",
"4 36 36 V186 0.039409"
]
},
"execution_count": 91,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# df_final_new对variable进行行透视成列,variable的value放到列名去。\n",
"df_final_melt = df_final_new.reset_index()\n",
"df_final_melt.head()"
]
},
{
"cell_type": "code",
"execution_count": 97,
"id": "e03ff0f6-6096-4d73-a5a7-add89cc53a13",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" variable | \n",
" V186 | \n",
" V9 | \n",
"
\n",
" \n",
" V2 | \n",
" V2A | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 20 | \n",
" 20 | \n",
" 0.010967 | \n",
" 0.283151 | \n",
"
\n",
" \n",
" 32 | \n",
" 32 | \n",
" 0.056886 | \n",
" 0.632735 | \n",
"
\n",
" \n",
" 36 | \n",
" 36 | \n",
" 0.039409 | \n",
" 0.387051 | \n",
"
\n",
" \n",
" 76 | \n",
" 76 | \n",
" 0.223333 | \n",
" 0.912667 | \n",
"
\n",
" \n",
" 100 | \n",
" 100 | \n",
" 0.012987 | \n",
" 0.490509 | \n",
"
\n",
" \n",
" 124 | \n",
" 124 | \n",
" 0.061460 | \n",
" 0.617375 | \n",
"
\n",
" \n",
" 152 | \n",
" 152 | \n",
" 0.070000 | \n",
" 0.701000 | \n",
"
\n",
" \n",
" 156 | \n",
" 156 | \n",
" 0.011050 | \n",
" 0.162732 | \n",
"
\n",
" \n",
" 158 | \n",
" 158 | \n",
" 0.033415 | \n",
" 0.509372 | \n",
"
\n",
" \n",
" 170 | \n",
" 170 | \n",
" 0.107769 | \n",
" NaN | \n",
"
\n",
" \n",
" 196 | \n",
" 196 | \n",
" 0.041905 | \n",
" 0.770476 | \n",
"
\n",
" \n",
" 231 | \n",
" 231 | \n",
" 0.372667 | \n",
" 0.936667 | \n",
"
\n",
" \n",
" 246 | \n",
" 246 | \n",
" 0.018738 | \n",
" 0.450690 | \n",
"
\n",
" \n",
" 250 | \n",
" 250 | \n",
" 0.015984 | \n",
" 0.410589 | \n",
"
\n",
" \n",
" 268 | \n",
" 268 | \n",
" 0.038000 | \n",
" 0.964000 | \n",
"
\n",
" \n",
" 276 | \n",
" 900 | \n",
" 0.015182 | \n",
" 0.440283 | \n",
"
\n",
" \n",
" 901 | \n",
" 0.004647 | \n",
" 0.225836 | \n",
"
\n",
" \n",
" 288 | \n",
" 288 | \n",
" 0.451108 | \n",
" 0.973272 | \n",
"
\n",
" \n",
" 320 | \n",
" 320 | \n",
" 0.339000 | \n",
" 0.953000 | \n",
"
\n",
" \n",
" 344 | \n",
" 344 | \n",
" 0.055112 | \n",
" 0.270767 | \n",
"
\n",
" \n",
" 348 | \n",
" 348 | \n",
" 0.013903 | \n",
" 0.367428 | \n",
"
\n",
" \n",
" 356 | \n",
" 356 | \n",
" 0.213393 | \n",
" 0.779610 | \n",
"
\n",
" \n",
" 360 | \n",
" 360 | \n",
" 0.297270 | \n",
" 0.980149 | \n",
"
\n",
" \n",
" 364 | \n",
" 364 | \n",
" 0.202850 | \n",
" 0.943382 | \n",
"
\n",
" \n",
" 368 | \n",
" 368 | \n",
" 0.154757 | \n",
" 0.989263 | \n",
"
\n",
" \n",
" 380 | \n",
" 380 | \n",
" 0.073123 | \n",
" 0.751976 | \n",
"
\n",
" \n",
" 392 | \n",
" 392 | \n",
" 0.017336 | \n",
" 0.173358 | \n",
"
\n",
" \n",
" 400 | \n",
" 400 | \n",
" NaN | \n",
" 0.995833 | \n",
"
\n",
" \n",
" 410 | \n",
" 410 | \n",
" 0.190000 | \n",
" 0.480833 | \n",
"
\n",
" \n",
" 458 | \n",
" 458 | \n",
" 0.673605 | \n",
" 0.959201 | \n",
"
\n",
" \n",
" 466 | \n",
" 466 | \n",
" 0.561278 | \n",
" 0.964798 | \n",
"
\n",
" \n",
" 484 | \n",
" 484 | \n",
" 0.119231 | \n",
" 0.846154 | \n",
"
\n",
" \n",
" 498 | \n",
" 498 | \n",
" 0.044933 | \n",
" 0.728489 | \n",
"
\n",
" \n",
" 504 | \n",
" 504 | \n",
" 0.845000 | \n",
" 0.984167 | \n",
"
\n",
" \n",
" 528 | \n",
" 528 | \n",
" 0.023810 | \n",
" 0.320952 | \n",
"
\n",
" \n",
" 554 | \n",
" 554 | \n",
" 0.048218 | \n",
" 0.342767 | \n",
"
\n",
" \n",
" 578 | \n",
" 578 | \n",
" 0.007805 | \n",
" 0.327805 | \n",
"
\n",
" \n",
" 604 | \n",
" 604 | \n",
" 0.104000 | \n",
" 0.760667 | \n",
"
\n",
" \n",
" 616 | \n",
" 616 | \n",
" 0.091000 | \n",
" 0.851000 | \n",
"
\n",
" \n",
" 642 | \n",
" 642 | \n",
" 0.043919 | \n",
" 0.890203 | \n",
"
\n",
" \n",
" 643 | \n",
" 643 | \n",
" 0.009346 | \n",
" 0.457452 | \n",
"
\n",
" \n",
" 646 | \n",
" 646 | \n",
" 0.821500 | \n",
" 0.956204 | \n",
"
\n",
" \n",
" 688 | \n",
" 688 | \n",
" 0.042623 | \n",
" 0.655738 | \n",
"
\n",
" \n",
" 704 | \n",
" 704 | \n",
" 0.018060 | \n",
" 0.323746 | \n",
"
\n",
" \n",
" 705 | \n",
" 705 | \n",
" 0.015429 | \n",
" 0.423337 | \n",
"
\n",
" \n",
" 710 | \n",
" 710 | \n",
" 0.162985 | \n",
" 0.910643 | \n",
"
\n",
" \n",
" 724 | \n",
" 724 | \n",
" 0.016667 | \n",
" 0.389167 | \n",
"
\n",
" \n",
" 752 | \n",
" 752 | \n",
" 0.004985 | \n",
" 0.294118 | \n",
"
\n",
" \n",
" 756 | \n",
" 756 | \n",
" 0.026591 | \n",
" 0.460113 | \n",
"
\n",
" \n",
" 764 | \n",
" 764 | \n",
" 0.226858 | \n",
" 0.937419 | \n",
"
\n",
" \n",
" 780 | \n",
" 780 | \n",
" 0.183633 | \n",
" 0.901198 | \n",
"
\n",
" \n",
" 792 | \n",
" 792 | \n",
" 0.136701 | \n",
" 0.913076 | \n",
"
\n",
" \n",
" 804 | \n",
" 804 | \n",
" 0.022000 | \n",
" 0.536000 | \n",
"
\n",
" \n",
" 818 | \n",
" 818 | \n",
" 0.241560 | \n",
" 0.996067 | \n",
"
\n",
" \n",
" 826 | \n",
" 826 | \n",
" 0.071085 | \n",
" 0.392891 | \n",
"
\n",
" \n",
" 840 | \n",
" 840 | \n",
" 0.117694 | \n",
" 0.720576 | \n",
"
\n",
" \n",
" 854 | \n",
" 854 | \n",
" 0.546936 | \n",
" 0.947849 | \n",
"
\n",
" \n",
" 858 | \n",
" 858 | \n",
" 0.043000 | \n",
" 0.456000 | \n",
"
\n",
" \n",
" 894 | \n",
" 894 | \n",
" 0.275333 | \n",
" 0.918667 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
"variable V186 V9\n",
"V2 V2A \n",
"20 20 0.010967 0.283151\n",
"32 32 0.056886 0.632735\n",
"36 36 0.039409 0.387051\n",
"76 76 0.223333 0.912667\n",
"100 100 0.012987 0.490509\n",
"124 124 0.061460 0.617375\n",
"152 152 0.070000 0.701000\n",
"156 156 0.011050 0.162732\n",
"158 158 0.033415 0.509372\n",
"170 170 0.107769 NaN\n",
"196 196 0.041905 0.770476\n",
"231 231 0.372667 0.936667\n",
"246 246 0.018738 0.450690\n",
"250 250 0.015984 0.410589\n",
"268 268 0.038000 0.964000\n",
"276 900 0.015182 0.440283\n",
" 901 0.004647 0.225836\n",
"288 288 0.451108 0.973272\n",
"320 320 0.339000 0.953000\n",
"344 344 0.055112 0.270767\n",
"348 348 0.013903 0.367428\n",
"356 356 0.213393 0.779610\n",
"360 360 0.297270 0.980149\n",
"364 364 0.202850 0.943382\n",
"368 368 0.154757 0.989263\n",
"380 380 0.073123 0.751976\n",
"392 392 0.017336 0.173358\n",
"400 400 NaN 0.995833\n",
"410 410 0.190000 0.480833\n",
"458 458 0.673605 0.959201\n",
"466 466 0.561278 0.964798\n",
"484 484 0.119231 0.846154\n",
"498 498 0.044933 0.728489\n",
"504 504 0.845000 0.984167\n",
"528 528 0.023810 0.320952\n",
"554 554 0.048218 0.342767\n",
"578 578 0.007805 0.327805\n",
"604 604 0.104000 0.760667\n",
"616 616 0.091000 0.851000\n",
"642 642 0.043919 0.890203\n",
"643 643 0.009346 0.457452\n",
"646 646 0.821500 0.956204\n",
"688 688 0.042623 0.655738\n",
"704 704 0.018060 0.323746\n",
"705 705 0.015429 0.423337\n",
"710 710 0.162985 0.910643\n",
"724 724 0.016667 0.389167\n",
"752 752 0.004985 0.294118\n",
"756 756 0.026591 0.460113\n",
"764 764 0.226858 0.937419\n",
"780 780 0.183633 0.901198\n",
"792 792 0.136701 0.913076\n",
"804 804 0.022000 0.536000\n",
"818 818 0.241560 0.996067\n",
"826 826 0.071085 0.392891\n",
"840 840 0.117694 0.720576\n",
"854 854 0.546936 0.947849\n",
"858 858 0.043000 0.456000\n",
"894 894 0.275333 0.918667"
]
},
"execution_count": 97,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_final_melt.set_index([\"V2\", \"V2A\",\"variable\"])[\"percent\"].unstack()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ce7f4e1f-1368-4c8b-90b8-24c27d6ced07",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"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.9.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}