南大《探索数据的奥秘》课件示例代码笔记07
2023-09-14 09:01:29 时间
Chp5-4
2019 年 12 月 20 日
In [2]: # 看数据在不同组的分布
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
my_data = pd.read_csv("C:\Python\Scripts\my_data\Titanic.csv")
my_plot_data=my_data[['Pclass']].groupby(['Pclass']).size()
print(my_plot_data)
my_plot_data.plot(kind='bar')
Pclass
1 216
2 184
3 491
dtype: int64
Out[2]: <matplotlib.axes._subplots.AxesSubplot at 0x194437b8>
In [3]: # 分组统计
print('表 1. 按仓位等级分组求船费、年龄、同行平辈人数、同行父母和子女人数的均值')
print(my_data[['Fare','Age','SibSp','Parch','Pclass']].groupby(['Pclass']).mean())
print('\n\n表 2. 按仓位等级分组求船费、年龄、同行平辈人数、同行父母和子女人数的标准差')
print(my_data[['Fare','Age','SibSp','Parch','Pclass']].groupby(['Pclass']).std())
表 1. 按仓位等级分组求船费、年龄、同行平辈人数、同行父母和子女人数的均值
Fare Age SibSp Parch
Pclass
1 84.154687 38.233441 0.416667 0.356481
2 20.662183 29.877630 0.402174 0.380435
3 13.675550 25.140620 0.615071 0.393075
表 2. 按仓位等级分组求船费、年龄、同行平辈人数、同行父母和子女人数的标准差
Fare Age SibSp Parch
Pclass
1 78.380373 14.802856 0.611898 0.693997
2 13.417399 14.001077 0.601633 0.690963
3 11.778142 12.495398 1.374883 0.888861
In [4]: # 借助分组、筛选的图形化描述
gender_dst_org=my_data[['Sex']].groupby(['Sex']).size()
print('数据文件中全部非空数据的性别情况')
print(gender_dst_org,'\n')
my_filter=my_data[my_data.Survived==1] #dataframe 的数据筛选
gender_dst_srv=my_filter[['Sex']].groupby(['Sex']).size()
print('数据文件中幸存者的性别情况')
print(gender_dst_srv,'\n')
my_tmp=pd.concat([gender_dst_org,gender_dst_srv],axis=1)
# 数据连接, axis=1 表示增加列
my_plot_data=my_tmp.rename(columns={0:'Total',1:'Survived'}) # 列重命名
print(my_plot_data)
my_plot_data.plot(kind='bar')
数据文件中全部非空数据的性别情况
Sex
female 314
male 577
dtype: int64
数据文件中幸存者的性别情况
Sex
female 233
male 109
dtype: int64
Total Survived
Sex
female 314 233
male 577 109
Out[4]: <matplotlib.axes._subplots.AxesSubplot at 0x17111ac8>
In [73]: import pandas as pd
import numpy as np
my_data=dmy_data = pd.read_csv("C:\Python\Scripts\my_data\iris.csv",header=None,
names=['sepal_length','sepal_width','petal_length',
'petal_width','target'])
#my_data.head(5)
my_set=set(my_data['target']) # 创建一个类别名集合
print(my_set)
my_set_list=list(my_set) #set 不能直接访问其元素,转换成 list 后可以访问
colors=list()
palette={my_set_list[0]:"red",my_set_list[1]:"green",my_set_list[2]:"blue"}
# 字典,给三种类别对应散点图中的三种 marker_color
#print(my_data['target'])
for n,row in enumerate(my_data['target']): # 根据类别为每个样本设置绘图颜色
colors.append(palette[my_data['target'][n]])
#print(colors)
# 对 my_data 中的数值型数据,每两个特征绘制散点图
scatterplot=pd.plotting.scatter_matrix(my_data,alpha=0.3,
figsize=(10,10), diagonal='hist',color=colors,
marker='o',grid=True)
{'setosa', 'virginica', 'versicolor'}
相关文章
- 安全测试笔记《二十四》——静态代码分析理论基础和主要技术
- 算法刷题笔记05:Tree
- 计算机网络笔记Part1 概述「建议收藏」
- CAN总线学习笔记(2)- CAN协议数据帧与遥控帧
- Pytorch模型训练实用教程学习笔记:一、数据加载和transforms方法总结
- RT-Thread实战笔记-小白一看就会的平衡车DIY教程(附源码)
- 关于Docker中 容器镜像管理,数据卷网络,本地仓库,容器监控的一些笔记
- [Rust笔记] 对照 OOP 浅谈【类型状态】设计模式
- 学习笔记 | 用距离之距离(DoD)变换改进高维数据可视化
- R语言基础笔记-04(字符串、数据框、条件与循环)
- 数据治理专业认证CDMP学习笔记(思维导图与知识点)- 第二章数据处理伦理
- 【学习笔记】汇编常见指令
- iOS开发入门笔记详解手机开发
- Spark学习笔记1:Spark概览详解大数据
- Tensorflow 学习笔记(一)TensorFlow入门详解大数据
- 人工智能学习笔记详解大数据
- Hadoop 2.2.0部署安装(笔记,单机安装)详解大数据
- 学习笔记:Linux汇编语法入门(linux汇编语法)
- MySQL学习笔记:数据排序技巧(mysql数据排序)
- MySQL学习笔记使用ABS函数对数据进行绝对值计算(mysql 中abs函数)
- JavaScript高级程序设计(第3版)学习笔记7js函数(上)
- MySQL笔记之修改数据的解决方法
- jQuery学习笔记之Ajax操作篇(一)-数据加载