课程资料参考自[1]
导入包和数据并且打印
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
text = pd.read_csv("E:/Python/python操作/Datawhale/datawhale数据分析/关于数据/第二章项目集合/result.csv")
print(text.head())
# Unnamed: 0 PassengerId Survived ... Fare Cabin Embarked
# 0 0 1 0 ... 7.2500 NaN S
# 1 1 2 1 ... 71.2833 C85 C
# 2 2 3 1 ... 7.9250 NaN S
# 3 3 4 1 ... 53.1000 C123 S
# 4 4 5 0 ... 8.0500 NaN S
#
# [5 rows x 13 columns]
貌似pycharm显示csv文件不全是常规
- 可视化展示泰坦尼克号数据集中男女中生存人数分布情况(用柱状图试试)
'''可视化展示泰坦尼克号数据集中男女中生存人数分布情况(用柱状图试试)'''
sex = text.groupby('Sex')['Survived'].sum()
sex.plot.bar()
plt.title('survived_count')
plt.show()

关于groupby的介绍,见[2]
groupby就是按xx分组,比如, 将一个数据集按A进行分组, 效果是这样:

操作就是data.groupby('A'),这个会返回一个DataFrameGroupBy的东西。这个DataFrameGroupBy主要的功能能是允许你在不额外写循环的情况下, 快速对每一组数据进行操作。
最基本的就是组内计数, 求和, 求均值, 求方差,例如求不同种族内XX年龄的平均值,就是data.groupby('race')['age'].mean(),会得到一个Series。
age是连续属性,还可以对离散属性进行操作,比如对不同取值的计数: .value_counts(),类似data.groupby('race')['signs_of_mental_illness'].value_counts()
效果图类似:
A False 29
True 10
B False 523
True 95
......
Name: signs_of_mental_illness, dtype: int64
这时, 组内操作的结果不是单个值, 是一个序列, 可以用.unstack()将它展开。
data.groupby('race')['signs_of_mental_illness'].value_counts().unstack()
效果图类似:

感觉这个还不够熟悉,接着查找资料找到了[6]
大佬主要分成了四个部分进行讲解:
第一部分是groupby的作用,第二部分是单类分组,第三类是多类分组,第四类是时间分组。
首先第一部分,groupby的作用是进行数据的分组以及分组后地组内运算。
df[](指输出数据的结果属性名称).groupby([df[属性],df[属性])(指分类的属性,数据的限定定语,可以有多个).mean()(对于数据的计算方式——函数名称)
例如print(df["评分"].groupby([df["地区"],df["类型"]]).mean())
第二部分是单类分组,A.groupby("性别")
这个的意思是有一个变量A,数据类型是DataFrame,想要按照【性别】进行分组,得到的结果是一个Groupby对象,还没有进行任何的运算。

可以看到直接打印得到的结果是Groupby对象
刚刚也提到了没有任何的运算,如果加上了describe(),就是描述组内数据的基本统计量。
A.groupby("性别").describe().unstack()
只有数字类型的列数据才会计算统计
示例里面数字类型的数据有两列 【班级】和【身高】
如果不需要【班级】只需要【身高】,就是A.groupby("性别")["身高"].describe().unstack()

第三个是多类分组,A.groupby( ["班级","性别"])

如多类分组的例子所示,单独用groupby,我们得到的还是一个 Groupby 对象。
关于相关的函数有:

还可以一次运用多个函数计算,例如
A.groupby( ["班级","性别"]).agg([np.sum, np.mean, np.std]) # 一次计算了三个

上面出现了agg(),表明分组多个运算。
第四个是关于时间序列的,这里就不写了,暂时不需要,有需要的时候再去看。
综上所述,也就是说
`文件.groupby(['属性','属性'])(属性指分类的属性,数据的限定定语,可以有多个。如果只有一个的时候那就是文件.groupby('属性'),如果是多个属性的话就是文件

本文探讨了Python数据分析中的数据可视化,通过泰坦尼克号数据集展示了男女生存人数的柱状图。深入解析了pandas库的groupby功能,包括单类分组、多类分组和时间序列分组。还介绍了value_counts()方法,以及matplotlib库在图表绘制中的各种参数设置,以实现不同票价、仓位等级和年龄对生存人数分布的可视化展示。
最低0.47元/天 解锁文章
2919

被折叠的 条评论
为什么被折叠?



