python人口普查数据数据分析_Python:第六次全国人口普查数据分析及可视化(pandas、matplotlib)...

一、数据获取

在国家统计局网中下载第六次人口普通统计表:http://www.stats.gov.cn/tjsj/pcsj/rkpc/6rp/indexch.htm

然后通过pandas将excel数据解析为多级字典

先观察excel数据

576354ee48bfffcb24fb1deb210c64f1.png

可以转化为这样的多级词典:

c344b4e834136b49c9f94d9f96f0ffa9.png

理清字典关系后代码就简单了

def getDataDict():

#skiprows指跳过的行下标(下标从0开始),=2即从第3行开始,返回类型为dataframe

dataFrame = pandas.read_excel('D:/Py/2010人口普查.xlsx',skiprows=2)

#获取民族列表,民族字符串中有空格,通过map函数清洗数据

#iloc函数中表示解析下标为第0行,第1列之后的,并且步长为3;

#使用map函数后转化为了map类型数据,注意转回list类型

raceList = list(map(lambda s:str(s).replace("\xa0",""),dataFr

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴回答你的问题!以下是一个简单的Python数据分析可视化案例,采用了pandasmatplotlib库。 本案例使用了一个名为"sales_data.csv"的销售数据集,该数据集包含了一家公司在2019年每个月的销售额和利润。我们将使用pandas来读取数据并计算每个月的总销售额和总利润,并使用matplotlib来绘制折线图来展示这些数据。 首先,我们需要导入所需的库: ```python import pandas as pd import matplotlib.pyplot as plt ``` 然后,我们可以使用pandas来读取"sales_data.csv"文件并将其存储在一个名为"sales_df"的DataFrame对象中: ```python sales_df = pd.read_csv("sales_data.csv") ``` 接下来,我们可以使用pandas的groupby函数来计算每个月的总销售额和总利润: ```python monthly_sales = sales_df.groupby("Month")["Sales"].sum() monthly_profit = sales_df.groupby("Month")["Profit"].sum() ``` 最后,我们可以使用matplotlib来绘制折线图来展示这些数据: ```python plt.plot(monthly_sales.index, monthly_sales.values, label="Sales") plt.plot(monthly_profit.index, monthly_profit.values, label="Profit") plt.xlabel("Month") plt.ylabel("Amount") plt.title("Monthly Sales and Profit") plt.legend() plt.show() ``` 完整的代码如下所示: ```python import pandas as pd import matplotlib.pyplot as plt sales_df = pd.read_csv("sales_data.csv") monthly_sales = sales_df.groupby("Month")["Sales"].sum() monthly_profit = sales_df.groupby("Month")["Profit"].sum() plt.plot(monthly_sales.index, monthly_sales.values, label="Sales") plt.plot(monthly_profit.index, monthly_profit.values, label="Profit") plt.xlabel("Month") plt.ylabel("Amount") plt.title("Monthly Sales and Profit") plt.legend() plt.show() ``` 希望这个案例对你有所帮助!如果你有任何问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值