import pandas as pd
from pyecharts.charts import *
from pyecharts import options as opts
df =pd.read_excel("./data/保险公司客户索赔数据.xlsx")
province_sale = df.groupby(by='省份')["赔付额"].sum()
province_sale=province_sale.reset_index() #重置行索引
province_sale["赔付额"] = round(province_sale["赔付额"]/10000,2)
# print(province_sale)
data_pair = province_sale.values.tolist()
print(data_pair)
china_map = Map()
china_map.add(
maptype="china",
data_pair=data_pair,
series_name="赔付额",
is_map_symbol_show=False #关闭地图上的小红点
)
china_map.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
is_piecewise=True, #颜色以分段形式呈现
pieces=[
{"min": 100, "label": ">100万", "color": "#9932CC"},
{"max": 100, "min": 50, "label": "50-100万", "color": "#DF0101"},
{"max": 50, "min": 10, "label": "10-50万", "color": "#F5A9A9"},
{"max": 9, "min": 1, "label": "1-9万", "color": "#FFFFFF"},
]
),
legend_opts=opts.LegendOpts(is_show=False),
title_opts=opts.TitleOpts(title="全国各个省份的赔付额",pos_left='center')
)
china_map.render("./data/全国各个省份的赔付额.html")
from selenium import webdriver
from pyquery import PyQuery as pq
import csv
URL="https://beijing.anjuke.com/sale/chaoyang-q-chaoyanggongyuan/p"
bw=webdriver.Chrome()
alldata=[['标题', '户型', '面积', '朝向', '楼层', '修建时间']]#存储所有数据,
for x in range(2):
new_url = URL+str(x)
print(new_url)
bw.get(new_url)
html=bw.page_source
doc =pq(html)
for item in doc('.property').items():#获取房产来遍历
pdoc=pq(item.html())
name=list(pdoc('.property-content-title-name').items())[0].text()#获取标题
#获取第一个property-content-info信息,每项房产有2~3个property-content-info信息,所以不能直接获取所有的property-content-info
data=list(pdoc('.property-content-info').items())[0].text().split('\n')
if (len(data) == 4):
data.append('')
data.insert(0, name)
alldata.append(data)
bw.close()
#最后再一起写csv,而不是for循环中打开文件写,会覆盖内容
with open('test2.csv','w',newline='')as f:
writer = csv.writer(f)
for data in alldata:
writer.writerow(data)
给个对比图,这样比较清晰
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!