对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)箱型图。
时间: 2024-02-24 20:53:46 浏览: 118
好的,以下是代码实现:
```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` 文件中。
阅读全文