2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 统计年龄分布情况(5岁的间隔统计) 绘制出年龄分布图。

统计年龄分布情况(5岁的间隔统计) 绘制出年龄分布图。

时间:2023-08-26 05:23:08

相关推荐

统计年龄分布情况(5岁的间隔统计) 绘制出年龄分布图。

3.统计年龄分布情况(5岁的间隔统计),绘制出年龄分布图。

第一个

这个和第一个非常相似,难点在于需要将出生年月转化为年龄。

data = data.copy()data['年龄'] = [dt.datetime.today().year - i.year for i in pd.to_datetime(data["出生年月"])]

如果不添加data.copy()会报错

SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.Try using .loc[row_indexer,col_indexer] = value instead

完整代码:

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport datetime as dt# 读取 CSV文件生成DataFramedf = pd.read_csv('D:/luohu3.csv')print(df)print(df.info()) # 获取 DataFrame 的摘要print(df.head())# 根据位置返回对象的前n行信息(默认值为5) ,用于快速测试数据集print(df.describe()) # 生成描述性统计数据,总结数据集分布的集中趋势,分散和形状,不包括 NaN值。# 数据预处理data = df.dropna(0) # 删除所有包含空值的行或列print(data.info())# data = df.drop_duplicates()# print(data.info())# 获取年龄数据data = data.copy()data['年龄'] = [dt.datetime.today().year - i.year for i in pd.to_datetime(data["出生年月"])] # 日期数据如何处理x = data["年龄"]# 设置统计分值段范围print(data.describe()) # 查看最大值与最小值bins = np.arange(35, 65, 5)time_bins = pd.cut(x, bins) # 对数据进行离散化处理print(time_bins)# 按积分分割区间进行分组统计df1 = data.groupby(time_bins)["年龄"].count()print(df1)# 绘制图形df1.plot(kind="bar", rot=0)plt.rcParams['font.sans-serif'] = ['Kaiti'] # 用来正常显示中文(黑体)常用字体包括: Kaiti-楷体; FangSong-仿宋; Microsoft YaHei-微软雅黑plt.rcParams['axes.unicode_minus'] = Falseplt.show()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。