抓取的部分原始数据,用这个程序 https://blog.csdn.net/bq_cui/article/details/93860666:
lp_name | area1 | area2 | huxing | wuye_type | sale_state | price | |
0 | 秋月朗庭尚东区 | 奉贤 | 南桥 | 2室/3室/4室 80-149㎡ | 住宅 | 在售 | 33000 |
1 | 联仲都悦汇 | 闵行 | 马桥 | 别墅 184-256㎡ | 别墅 | 在售 | 53241 |
2 | 华润置地赛拉维 | 奉贤 | 南桥 | 3室/4室/别墅 96-124㎡ | 住宅 | 在售 | 35000 |
3 | 禹洲雍锦府 | 奉贤 | 金汇 | 180000㎡ | 住宅 | 待售 | 33000 |
4 | 中铁北城时代商铺 | 宝山 | 杨行 | 170000㎡ | 临街店铺 | 在售 | 55000 |
5 | 虹桥金茂悦 | 青浦 | 华新镇 | 3室/4室 99-144㎡ | 住宅 | 在售 | 0 |
6 | 安亭誉墅 | 嘉定 | 安亭 | 别墅 271-299㎡ | 别墅 | 在售 | 44500 |
7 | 长城逸府 | 金山 | 枫泾 | 3室/4室 90-126㎡ | 住宅 | 在售 | 15815 |
8 | 新城上坤樾山半岛 | 松江 | 佘山 | 别墅 136-215㎡ | 别墅 | 在售 | 0 |
9 | 云麓里 | 浦东 | 航头 | 3室/别墅 89-124㎡ | 住宅 | 待售 | 0 |
10 | 明天华城 | 浦东 | 周康 | 1室/2室/3室 72-149㎡ | 住宅 | 待售 | 46700 |
11 | 金地·公元2040 | 浦东 | 祝桥 | 3室/4室/别墅 86-136㎡ | 住宅 | 在售 | 44800 |
12 | UniCity万科天空之城 | 青浦 | 徐泾 | 2室/3室/4室 87-155㎡ | 住宅 | 在售 | 58000 |
13 | 万科启宸 | 宝山 | 罗店 | 2室/3室/4室/别墅 75-123㎡ | 住宅 | 在售 | 35000 |
14 | 瑞虹新城天悦郡庭 | 虹口 | 临平路 | 165583㎡ | 住宅 | 待售 | 95000 |
15 | 恒大海上威尼斯 | 上海周边 | 启东 | 1室/2室/3室/4室/别墅 50-197㎡ | 住宅 | 在售 | 10800 |
16 | 佳兆业8号 | 奉贤 | 南桥 | 3室/别墅 90-180㎡ | 别墅 | 待售 | 26000 |
17 | 绿城上海诚园 | 浦东 | 临港新城 | 3室 88-116㎡ | 住宅 | 在售 | 20596 |
18 | 华府天地·愉园 | 闵行 | 马桥 | 别墅 152-189㎡ | 别墅 | 在售 | 0 |
19 | 滨江公园壹号 | 宝山 | 上大 | 别墅 148-194㎡ | 别墅 | 待售 | 59000 |
20 | 上实滨湖城海上湾鹭居 | 青浦 | 朱家角 | 2室/3室/别墅 81-136㎡ | 住宅 | 在售 | 0 |
21 | 央玺 | 宝山 | 顾村 | 2室/3室 85-95㎡ | 住宅 | 待售 | 62000 |
1、从excel文件读取数据
2、根据条件选择部分行
3、分组汇总,用groupby
4、列顺序调整
1、从excel文件读取数据
fr_all = pd.read_excel('data/lou_detail.xlsx')
2、根据条件选择部分行
# 原始数据中,排除部分价格为0的数据行
ex_list_price = list(fr_all['price'])
ex_list_price.remove(0)
# 并且只显示状态为 在售 的
print(fr_all[fr_all['price'].isin(ex_list_price) & fr_all['sale_state'].isin(['在售'])])
或者也可以用这种方式:
#通过~取反,选取不包含数字1的行
fr_part = fr_all[~fr_all['price'].isin([0]) & fr_all['sale_state'].isin(['在售'])]
print(fr_part)
3、分组汇总,用groupby
group_by_area1 = fr_all.groupby(['area1'])['price'].mean()
运行:
area1 | price |
上海周边 | 13221.05 |
嘉定 | 35253.5 |
奉贤 | 25360.72 |
宝山 | 30461.54 |
崇明 | 12281.25 |
徐汇 | 128000 |
普陀 | 76729 |
杨浦 | 60753 |
松江 | 33647.28 |
浦东 | 37449.43 |
花桥 | 23342.86 |
虹口 | 98500 |
金山 | 19786.1 |
长宁 | 104169 |
闵行 | 64834.43 |
青浦 | 35508.37 |
静安 | 73450 |
黄浦 | 128466.7 |
group_by_area1 = fr_all.groupby(['area1','area2'])['price'].mean()
运行:
area1 | area2 | price |
上海周边 | 其他 | 10120 |
启东 | 11650 | |
嘉兴 | 11400 | |
嘉善 | 15950 | |
太仓 | 13425 | |
昆山 | 18500 | |
嘉定 | 南翔 | 47000 |
嘉定新城 | 38210.67 | |
安亭 | 29066.6 | |
江桥 | 45570 | |
奉贤 | 临港蓝湾 | 0 |
南桥 | 32391.8 | |
奉城 | 22000 | |
海湾 | 13333.33 | |
西渡 | 36500 | |
金汇 | 27085.71 |
4、列顺序调整
df_gp = pd.read_excel('data/day.xlsx') #读取股票数据
#print(df_gp.info())
#调整列顺序
order = ['date', 'open', 'close', 'high', 'low', 'volume']
df_gp = df_gp[order]