{
"cells": [
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-02T07:57:56.382179Z",
"start_time": "2025-04-02T07:57:55.984261Z"
}
},
"cell_type": "code",
"source": "import pandas as pd",
"id": "3244cf38b10be81b",
"outputs": [],
"execution_count": 1
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-02T08:00:15.267189Z",
"start_time": "2025-04-02T08:00:15.229542Z"
}
},
"cell_type": "code",
"source": [
"data = pd.read_csv('data/某地区房屋销售数据 (1).csv', encoding='gbk')\n",
"data['new_postcode'] = data['地区邮编'].apply(lambda x: str(x)[:2])\n",
"data.head(3)"
],
"id": "d973cf9fe6ac90a6",
"outputs": [
{
"data": {
"text/plain": [
" 房屋出售时间 地区邮编 房屋价格 房屋类型 配套房间数 new_postcode\n",
"0 2010/1/4 0:00 2615 435000 house 3 26\n",
"1 2010/1/5 0:00 2904 712000 house 4 29\n",
"2 2010/1/6 0:00 2617 435000 house 4 26"
],
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 房屋出售时间 | \n",
" 地区邮编 | \n",
" 房屋价格 | \n",
" 房屋类型 | \n",
" 配套房间数 | \n",
" new_postcode | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 2010/1/4 0:00 | \n",
" 2615 | \n",
" 435000 | \n",
" house | \n",
" 3 | \n",
" 26 | \n",
"
\n",
" \n",
" 1 | \n",
" 2010/1/5 0:00 | \n",
" 2904 | \n",
" 712000 | \n",
" house | \n",
" 4 | \n",
" 29 | \n",
"
\n",
" \n",
" 2 | \n",
" 2010/1/6 0:00 | \n",
" 2617 | \n",
" 435000 | \n",
" house | \n",
" 4 | \n",
" 26 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 4
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-02T08:00:25.320359Z",
"start_time": "2025-04-02T08:00:25.301349Z"
}
},
"cell_type": "code",
"source": [
"# 1、求出不同地区和不同房间数的房价,使用pivot_table函数\n",
"data.pivot_table(values='房屋价格', index='new_postcode', columns='配套房间数', aggfunc='mean')"
],
"id": "c9d4b29b2fbd4334",
"outputs": [
{
"data": {
"text/plain": [
"配套房间数 0 1 2 3 \\\n",
"new_postcode \n",
"26 564125.0 343189.962401 457595.588277 624204.46900 \n",
"29 528000.0 292934.514286 381675.627240 475210.25609 \n",
"\n",
"配套房间数 4 5 \n",
"new_postcode \n",
"26 810389.319007 1.037034e+06 \n",
"29 651102.874716 7.995584e+05 "
],
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" 配套房间数 | \n",
" 0 | \n",
" 1 | \n",
" 2 | \n",
" 3 | \n",
" 4 | \n",
" 5 | \n",
"
\n",
" \n",
" new_postcode | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 26 | \n",
" 564125.0 | \n",
" 343189.962401 | \n",
" 457595.588277 | \n",
" 624204.46900 | \n",
" 810389.319007 | \n",
" 1.037034e+06 | \n",
"
\n",
" \n",
" 29 | \n",
" 528000.0 | \n",
" 292934.514286 | \n",
" 381675.627240 | \n",
" 475210.25609 | \n",
" 651102.874716 | \n",
" 7.995584e+05 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 5
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-02T08:04:02.430064Z",
"start_time": "2025-04-02T08:04:02.415284Z"
}
},
"cell_type": "code",
"source": [
"# 2、不同地区哪种类型的房产房价最贵,使用pivot_table函数\n",
"data.pivot_table(values='房屋价格', index='new_postcode', columns='房屋类型', aggfunc='max')"
],
"id": "a5e4f3321d168313",
"outputs": [
{
"data": {
"text/plain": [
"房屋类型 house unit\n",
"new_postcode \n",
"26 8000000 2500000\n",
"29 5425000 769500"
],
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" 房屋类型 | \n",
" house | \n",
" unit | \n",
"
\n",
" \n",
" new_postcode | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 26 | \n",
" 8000000 | \n",
" 2500000 | \n",
"
\n",
" \n",
" 29 | \n",
" 5425000 | \n",
" 769500 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 7
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-02T08:04:41.035870Z",
"start_time": "2025-04-02T08:04:41.012959Z"
}
},
"cell_type": "code",
"source": [
"# 3、不同类型房产和不同房间数的房价之间的比较,使用pivot_table函数\n",
"data.pivot_table(values='房屋价格', index='房屋类型', columns='配套房间数', aggfunc='mean')"
],
"id": "4ed9b36daea1c503",
"outputs": [
{
"data": {
"text/plain": [
"配套房间数 0 1 2 3 \\\n",
"房屋类型 \n",
"house 677394.736842 353634.269663 489555.889339 560117.683516 \n",
"unit 330850.000000 336570.325391 432502.153116 594535.982287 \n",
"\n",
"配套房间数 4 5 \n",
"房屋类型 \n",
"house 730667.024375 9.290297e+05 \n",
"unit 641736.842105 1.146333e+06 "
],
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" 配套房间数 | \n",
" 0 | \n",
" 1 | \n",
" 2 | \n",
" 3 | \n",
" 4 | \n",
" 5 | \n",
"
\n",
" \n",
" 房屋类型 | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" house | \n",
" 677394.736842 | \n",
" 353634.269663 | \n",
" 489555.889339 | \n",
" 560117.683516 | \n",
" 730667.024375 | \n",
" 9.290297e+05 | \n",
"
\n",
" \n",
" unit | \n",
" 330850.000000 | \n",
" 336570.325391 | \n",
" 432502.153116 | \n",
" 594535.982287 | \n",
" 641736.842105 | \n",
" 1.146333e+06 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 8
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-02T08:05:23.703349Z",
"start_time": "2025-04-02T08:05:23.691916Z"
}
},
"cell_type": "code",
"source": [
"# 4、不同地区不同房间数房屋销售情况交叉表,使用crosstab函数,参考例3-61\n",
"pd.crosstab(data['new_postcode'], data['配套房间数'])"
],
"id": "799d99489d93b2b5",
"outputs": [
{
"data": {
"text/plain": [
"配套房间数 0 1 2 3 4 5\n",
"new_postcode \n",
"26 24 1383 2815 6371 4793 1007\n",
"29 5 175 558 4557 4845 835"
],
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" 配套房间数 | \n",
" 0 | \n",
" 1 | \n",
" 2 | \n",
" 3 | \n",
" 4 | \n",
" 5 | \n",
"
\n",
" \n",
" new_postcode | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 26 | \n",
" 24 | \n",
" 1383 | \n",
" 2815 | \n",
" 6371 | \n",
" 4793 | \n",
" 1007 | \n",
"
\n",
" \n",
" 29 | \n",
" 5 | \n",
" 175 | \n",
" 558 | \n",
" 4557 | \n",
" 4845 | \n",
" 835 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 10
}
],
"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
}