利用pandas将lianjia04.xlsx数据清洗
时间: 2024-05-15 16:16:32 浏览: 18
抱歉,作为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')
```
相关问题
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 文件中读取数据。
5.数据采集与存储2 (1)数据采集网址为链家广州租房https://gz.lianjia.com/zufang/; (2)采集该网站广州所有城区的前5页的租房信息,采集信息包括:城区、房源标题、房源面积、房源朝向、价格; (3)采集信息存
储至本地的Excel文件中,每个城区单独存储为一个Sheet,文件命名为“广州租房信息.xlsx”。以下是Python代码实现:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 设置请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
# 设置要采集的城区和页数
districts = ['tianhe', 'yuexiu', 'liwan', 'haizhu', 'panyu', 'baiyun', 'huangpugz', 'nansha']
pages = 5
# 创建一个空的DataFrame
df = pd.DataFrame(columns=['城区', '房源标题', '房源面积', '房源朝向', '价格'])
# 循环遍历每个城区和页数
for district in districts:
for page in range(1, pages+1):
url = f'https://gz.lianjia.com/zufang/{district}/pg{page}/'
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
items = soup.select('.content__list--item')
# 循环遍历每个房源信息并保存到DataFrame中
for item in items:
title = item.find('p', class_='content__list--item--title').text.strip()
area = item.find('span', class_='content__list--item--size').text.strip()
direction = item.find('span', class_='content__list--item--orientation').text.strip()
price = item.find('span', class_='content__list--item-price').text.strip()
df = df.append({'城区': district, '房源标题': title, '房源面积': area, '房源朝向': direction, '价格': price}, ignore_index=True)
# 将DataFrame保存为Excel文件
with pd.ExcelWriter('广州租房信息.xlsx') as writer:
for district in districts:
temp_df = df[df['城区'] == district]
temp_df.to_excel(writer, sheet_name=district, index=False)
print('数据采集完成!')
```
这段代码使用了requests和BeautifulSoup库来请求和解析网页。首先设置了请求头,然后循环遍历每个城区和页数,将每个房源信息保存到DataFrame中。最后使用pandas库将DataFrame保存为Excel文件,并为每个城区单独创建一个Sheet。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)