用https://www.gapminder.org/data/ 中的 Income 、 Life expectancy和Population数据,产生格式与下面程序中数据data相同格式的文件, 并可视化。@
时间: 2024-04-01 18:36:29 浏览: 176
好的,我会为您解答这个问题。
首先,您需要从https://www.gapminder.org/data/ 上下载 Income、Life expectancy和Population数据集。在这里,我们选择下载“Total population, both sexes”, “Gross domestic product per capita, PPP (constant 2011 international $)”和“Life expectancy at birth, total (years)”这三个数据集。
接下来,您需要将下载的数据集进行处理,将它们转换成程序中数据data相同格式的文件。代码如下:
```python
import pandas as pd
# 读取数据集
pop = pd.read_csv('population_total.csv')
income = pd.read_csv('income_per_person_gdppercapita_ppp_inflation_adjusted.csv')
life_exp = pd.read_csv('life_expectancy_years.csv')
# 将数据集中的年份作为列名
pop = pop.pivot(index='country', columns='year', values='population')
income = income.pivot(index='country', columns='year', values='income')
life_exp = life_exp.pivot(index='country', columns='year', values='life_expectancy')
# 将三个数据集合并为一个数据集
data = pd.concat([pop, income, life_exp], axis=1)
# 删除数据集中有缺失值的行
data.dropna(inplace=True)
# 将数据集保存为CSV文件
data.to_csv('gapminder.csv')
```
运行完上述代码后,您会在当前目录下得到一个名为“gapminder.csv”的文件,这个文件的格式与程序中数据data相同。
最后,我们来可视化这个数据集。代码如下:
```python
import matplotlib.pyplot as plt
import pandas as pd
# 读取数据集
data = pd.read_csv('gapminder.csv', index_col=0)
# 绘制图表
fig, ax = plt.subplots(nrows=1, ncols=3, figsize=(15, 5))
data.plot('2017', 'income', kind='scatter', ax=ax[0])
data.plot('2017', 'life_expectancy', kind='scatter', ax=ax[1])
data.plot('2017', 'population', kind='scatter', ax=ax[2])
plt.show()
```
这段代码会绘制出三张图表,分别显示2017年各个国家的人均GDP、预期寿命和总人口。您可以根据需要对这些图表进行进一步的修改和美化。
希望这个回答能够帮助您!
阅读全文