本人作为一个python初学者,做了一个对安居客的网站上的新房房价的爬取,利用了爬虫将该网站的淮安区域的数据采集下来,并对这些数据进行一些初步的分析,由于比较基础,想透过这个小项目能够向数据分析的方向更近一步,望各位大佬批评指正。
首先我主要还是利用python里常用于分析的pandas库
import pandas as pd
df=pd.read_csv(r"C:\Users\Administrator\Desktop\淮安房产网信息.csv",engine="python",encoding="gbk")#读取csv文件专用步骤,需要解码
df.head()#呈现表格
ps:这里的数据主要也是经过了excel的处理。
#看一下每一列是否有空值
df.isnull().any()
df["卖点"]=df["字段1"]+df["字段2"]+df["字段3"]+df["字段4"]#这里新建一栏“卖点”主要是想在下面利用jieba库的分词,制作词云
df=pd.DataFrame(df.astype(str))
#首先对标题的卖点进行文本分析
title=df.卖点.values.tolist()
title
这一步可能会有点多余,因为本来新房的卖点也是已经分好的,但是通过这些操作将其整合在一起,显得有点杂乱无章,但是还是可以通过其他方式在进行整合一下。
import jieba
title_s=[]
for line in title:
title_cut=jieba.lcut(line)
title_s.append(title_cut)
with open("中文停用词表.txt","r") as f: #这里的“中文停用词表”需要在网上下载
stopwords = f.read()
#如果“卖点”里有停用词,将其提出,不出现在最后的词云
title_clean=[]
for line in title_s:
line_clean=[]
for word in line:
if word not in stopwords:
line_clean.append(word)
title_clean.append(line_clean)
title_clean #这一步相当于数据清洗
由于这些数据的类型还不够简洁,需要将其全部转换成列表。
#转化成一个列表
all_title_clean=[]
for line in title_clean:
for word in line:
all_title_clean.append(word)
all_title_clean
这一步相当于彻底完成数据初步清洗工作。
最终的词云图生成如下: