pandas读取年份和温度,并绘制直方图和饼图
时间: 2023-12-03 17:43:37 浏览: 90
假设你已经有一个名为"temperature.csv"的数据文件,其中有两列数据:年份和温度。以下是使用pandas读取该文件并绘制直方图和饼图的示例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据文件
df = pd.read_csv('temperature.csv')
# 绘制直方图
plt.hist(df['温度'], bins=10)
plt.xlabel('温度')
plt.ylabel('频数')
plt.title('温度直方图')
plt.show()
# 绘制饼图
plt.pie(df.groupby('年份').size(), labels=df['年份'].unique(), autopct='%1.1f%%')
plt.title('年份占比')
plt.show()
```
以上代码将温度数据绘制成了直方图,年份数据绘制成了饼图。你可以根据自己的数据文件进行适当的修改和调整。
相关问题
对air_data.xlsx中的原始数据进行探索分析与可视化分析: (1)利用pandas模块下的describe()函数,分析其原始数据是否有缺失值、最大值、最小值,并将结果存放于文件data_explore.xlsx中; (2)绘制各年份会员入会(FFP_DATE)人数直方图、会员性别比例饼图、会员年龄(AGE)分布箱型图、会员兑换积分次数(EXCHANGE_COUNT)直方图、会员总累计积分(Points_Sum)箱型图、乘机信息(最后乘机至结束时长LAST_TO_END、客户飞行次数FLIGHT_COUNT、客户总飞行公里数SEG_KM_SUM)箱型图。
好的,以下是代码实现:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_excel('air_data.xlsx')
# 分析数据并保存结果到文件
describe_result = data.describe()
describe_result.to_excel('data_explore.xlsx')
# 绘制各年份会员入会人数直方图
ffp_date = data['FFP_DATE'].apply(lambda x: str(x.year))
ffp_date_counts = ffp_date.value_counts().sort_index()
plt.bar(ffp_date_counts.index, ffp_date_counts.values)
plt.title('Number of Members Joined Each Year')
plt.xlabel('Year')
plt.ylabel('Counts')
plt.show()
# 绘制会员性别比例饼图
gender_counts = data['GENDER'].value_counts()
plt.pie(gender_counts.values, labels=gender_counts.index, autopct='%1.1f%%')
plt.title('Gender Proportion of Members')
plt.show()
# 绘制会员年龄分布箱型图
age_box = data.boxplot(column='AGE', grid=False)
plt.title('Distribution of Member Age')
plt.ylabel('Age')
plt.show()
# 绘制会员兑换积分次数直方图
exchange_counts = data['EXCHANGE_COUNT']
plt.hist(exchange_counts, bins=50)
plt.title('Distribution of Exchange Counts')
plt.xlabel('Exchange Count')
plt.ylabel('Frequency')
plt.show()
# 绘制会员总累计积分箱型图
points_sum_box = data.boxplot(column='Points_Sum', grid=False)
plt.title('Distribution of Total Points Sum')
plt.ylabel('Points Sum')
plt.show()
# 绘制乘机信息箱型图
flight_info = data[['LAST_TO_END', 'FLIGHT_COUNT', 'SEG_KM_SUM']]
flight_info_box = flight_info.boxplot(grid=False)
plt.title('Distribution of Flight Information')
plt.ylabel('Value')
plt.show()
```
这段代码会分别绘制出各个图表,并显示在屏幕上。如果需要保存这些图表到文件中,可以在每个图表绘制完后添加保存代码。例如:
```python
# 绘制各年份会员入会人数直方图并保存
ffp_date = data['FFP_DATE'].apply(lambda x: str(x.year))
ffp_date_counts = ffp_date.value_counts().sort_index()
plt.bar(ffp_date_counts.index, ffp_date_counts.values)
plt.title('Number of Members Joined Each Year')
plt.xlabel('Year')
plt.ylabel('Counts')
plt.savefig('joined_each_year.png')
plt.show()
```
这样,就可以将绘制的图表保存到当前目录下的 `joined_each_year.png` 文件中。
基于Pandas 的车辆数据分析
### 基于Pandas的车辆数据分析概述
#### 实验目标
1. **理解数据分析流程**:掌握根据业务背景确定数据分析目的与需求的能力。
2. **数据清洗**:熟练使用Pandas进行数据清洗操作。
3. **数据分析与可视化**:能够利用Pandas进行数据分析并生成可视化图表。
#### 实验内容
1. **实验环境与效果预览**
- **实验难度**:中等(☆☆☆)
- **建议时长**:45分钟
- **前置知识**:
- 了解数据分析的基本流程
- 掌握Pandas数据清洗的基本知识
- 具备Pandas数据分析及可视化的基本知识
- **实验环境**:
- 系统环境:MacOS、Linux、Windows 10
- 软件环境:Python 3.6+Anaconda、Pandas
2. **数据加载**
- 使用`pd.read_csv`读取CSV文件,加载车辆数据。
- 示例代码:
```python
import pandas as pd
car_data = pd.read_csv('second_cars_info.csv', encoding='utf_8_sig')
```
3. **数据清洗**
- **处理未上牌车辆**:
- 统计未上牌车辆数量,占比极小(0.82%),直接删除。
- 分割“Boarding_time”字段为“year”和“month”。
- **处理“New_price”和“Km”字段**:
- 删除单位,保留数字,并转换为浮点类型。
- 示例代码:
```python
car_data['New_price'] = car_data['New_price'].str[:-1].astype('float')
car_data['Km'] = car_data['Km'].str[:-2].astype('float')
```
4. **数据分析**
- **车辆价格分布**:
- 使用`dataframe.hist()`绘制直方图,组距为10万元。
- **车辆销量品牌占比**:
- 统计Top10品牌,其余归类为“其他”,绘制饼图。
- **排放标准分析**:
- 统计不同排放标准的车辆数量,绘制柱形图。
- **车龄分析**:
- 统计不同年份上牌的车辆数量,绘制柱形图。
- **里程分析**:
- 将里程数分为6个范围,统计每个范围内的车辆数量,绘制柱形图。
- **折旧价格分析**:
- 计算折旧价格(`Sec_price / New_price`),按20%的间隔分箱,绘制柱形图。
- **行驶公里数与价格关系**:
- 选取特定品牌(如奥迪)的车辆,绘制行驶公里数与价格的散点图。
#### 实验结果
1. **车辆价格分布**:价格越高,交易数量急剧下降。
2. **车辆销量品牌占比**:销量前十的品牌占总销量的63%,主要包括别克、大众、奔驰、宝马等。
3. **排放标准**:国4标准最多,其次是欧4、国5、欧5。
4. **车龄**:2010年附近上牌的车辆成交最多,其次是2014年。
5. **里程**:大部分交易的二手车里程数在0到9万公里之间,7到9万公里的车辆最多。
6. **折旧价格**:成交的二手车折旧价格在原价的20%至80%之间。
7. **行驶公里数与价格**:行驶里程数与价格呈负相关,里程数越多,价格越低。
#### 扩展阅读
1. 《数据分析与可视化》,张玉宏等著;电子工业出版社.2023.
2. Pandas官方中文文档:https://www.pypandas.cn/
### 附录
- 本实验的完整源码见附件。
阅读全文