利用pandas将lianjia04.xlsx数据清洗
时间: 2024-05-15 11:16:32 浏览: 168
抱歉,作为AI语言模型,我无法完成这个任务。但是,我可以提供一些指导:
1. 导入pandas库,读取Excel文件。
2. 初步查看数据,包括数据类型、缺失值、重复值等。
3. 处理缺失值和重复值。
4. 对数据进行清洗和整理,如将字符串类型转换为数值类型,修改列名等。
5. 对数据进行分析和可视化,从中获取有价值的信息。
您可以参考以下代码进行操作:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel('lianjia04.xlsx')
# 查看数据基本信息
print(df.info())
# 处理缺失值
df.dropna(inplace=True)
# 处理重复值
df.drop_duplicates(inplace=True)
# 修改列名
df.rename(columns={'面积': '房屋面积', '单价': '每平米单价'}, inplace=True)
# 转换数据类型
df['房屋面积'] = df['房屋面积'].str.extract('(\d+\.?\d*)')[0].astype(float)
df['每平米单价'] = df['每平米单价'].str.extract('(\d+\.?\d*)')[0].astype(float)
# 对数据进行分析和可视化
df.groupby('区域')['每平米单价'].mean().sort_values(ascending=False).plot(kind='bar')
```
相关问题
某间二手房网址:https://gz.lianjia.com/ershoufang/108403798521.html (1)解析链家网站广州二手房的前5页网址,采集每间二手房网址,并将采集结果存于Excel文件,保存路径设定为“/data/result1_1.xlsx”
为了解析链家网站(https://gz.lianjia.com/ershoufang/)的广州二手房信息并获取前5页的数据,你需要使用网络爬虫技术,通常会使用Python库如BeautifulSoup、Scrapy等。这是一个基本步骤概述:
1. 安装必要的库:首先安装`requests`, `beautifulsoup4`以及`openpyxl`库,如果还没有安装的话,可以使用命令行(pip)进行安装:
```
pip install requests beautifulsoup4 openpyxl
```
2. 编写爬虫脚本:创建一个Python文件,例如`lianjia_spider.py`,然后编写以下代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 目标URL
start_url = "https://gz.lianjia.com/ershoufang/"
# 结果文件名和路径
output_file = "/data/result1_1.xlsx"
# 解析函数
def parse_html(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
# 找到每一页的房源链接
house_links = soup.find_all('a', class_='hd') # 这里假设链接在'a'标签中且有特定class
return [link['href'] for link in house_links]
# 获取前5页的数据
urls_list = []
for i in range(1, 6): # 只获取前5页
page_url = f"{start_url}{i}/"
urls_list.extend(parse_html(page_url))
# 创建DataFrame存储数据
df = pd.DataFrame({'URL': urls_list})
# 写入Excel文件
df.to_excel(output_file, index=False)
print("数据抓取完成并保存至", output_file)
```
运行这个脚本后,它会下载前5页的房源链接并保存到指定的Excel文件中。
import scrapy import pandas as pd class WuxiErshoufangSpider(scrapy.Spider): name = "wuxi_ershoufang" allowed_domains = ["lianjia.com"] def start_requests(self): # 从 Excel 文件中读取小区名称 df = pd.read_excel("小区信息.xlsx") xiaoqu_list = df["小区名称"].tolist() # 构造爬取请求 for xiaoqu in xiaoqu_list: url = f"https://wuxi.lianjia.com/ershoufang/rs{xiaoqu}/" yield scrapy.Request(url=url, callback=self.parse) def parse(self, response): # 解析二手房信息 ershoufang_list = response.css(".sellListContent li") for ershoufang in ershoufang_list: title = ershoufang.css(".title a::text").get() address = ershoufang.css(".address .houseInfo::text").get() price = ershoufang.css(".priceInfo .totalPrice::text").get() yield { "小区名称": response.url.split("/")[-2].replace("rs", ""), "标题": title, "地址": address, "价格": price }
这段代码是一个简单的 Scrapy 爬虫,用于从 Excel 文件中获取小区信息,并爬取无锡市的二手房信息。要运行这段代码,需要进行以下步骤:
1. 新建一个 Scrapy 项目:
```
scrapy startproject wuxi_ershoufang
```
2. 将上述代码保存到 wuxi_ershoufang/spiders 文件夹下的 wuxi_ershoufang.py 文件中。
3. 打开 wuxi_ershoufang/settings.py 文件,将以下代码添加到文件末尾:
```
FEED_EXPORT_ENCODING = 'utf-8-sig'
```
这是为了确保正确读取中文。
4. 在命令提示符中进入 wuxi_ershoufang 项目的根目录,运行以下命令:
```
scrapy crawl wuxi_ershoufang -o ershoufang.csv
```
这个命令会启动爬虫,并将爬取到的数据保存到名为 ershoufang.csv 的 CSV 文件中。
注意,上述代码中的 Excel 文件名和列名都需要根据实际情况进行修改。此外,还需要确保已经安装好了 pandas 和 openpyxl 库,以便从 Excel 文件中读取数据。
阅读全文
相关推荐













