🐳 我正在和鲸社区参加"商业数据分析训练营活动" https://www.heywhale.com/home/competition/6487de6649463ee38dbaf58b ,以下是我的学习笔记:
学习主题:波士顿房价数据快速查看
日期:2023.9.4
关键概念/知识点:
- 数据导入
- 查看数据
- 缺失值的处理
- 统计特征描述
掌握的新函数/方法:
- pandas.read_csv()
- df.head()
- df.tail()
- df.iloc[ ]
- df.loc[ ]
- df.dropna (inplace=True)
- df.describe()
代码举例
数据导入:
javascript
# 一切的工作都从引入 python 库包开始,import 是引入库包的语句,加一个 as 就可以把原先比较长的库包名改成简写
import pandas as pd
# 读取本地数据
# Pandas数据分析库中read_csv函数能够进行读取本地数据,我们将读取到的数据存储在名为 df(DataFrame)的变量中
df = pd.read_csv('/home/mw/input/data_analysis8875/Boston Housing Data.csv')
查看数据:
javascript
# Head of the data
# 现在我们将展示数据的前五行,以便快速查看数据结构和内容
# head()函数默认显示前五行,可以传入一个整数参数来指定显示的行数,例如df.head(10)将显示前十行。
print(df.head())
# Tail of the data
# 接着,我们展示数据的最后五行,以了解数据尾部的情况
# 与head()函数类似,tail()函数也是默认显示前五行,也可传入一个整数参数来指定显示的行数
print(df.tail())
javascript
# Python还提供了查看特定某行或某列数据的方法,可以用到iloc或者loc属性进行查看
# 如提取数据第一列的前五行
# iloc 用于基于整数索引的数据切片,逗号前的 ":" 代表选取所有行,而逗号后的 "0" 代表选取第一列
print(df.iloc[:,0].head())
# 提取从11到20行前3列数据
print(df.iloc[10:20,0:3])
# 提取从11到20行,CRIM、RM、AGE三列中数据
print(df.loc[10:20,['CRIM','RM','AGE']])
缺失值的处理:
查找并打印数据集中每列的缺失值数量:
javascript
# isna() 函数检查每个元素是否为缺失值,sum() 函数将每列的缺失值数量加总
print(df.isna().sum())
若数据中包含缺失值,可使用如下方法进行处理:
删除缺失值:若缺失值不是很多,可以直接选择删除缺失值
javascript
df.dropna (inplace=True)
补充缺失值:若数据量不大,还要进行预测,建议选择数据填充
javascript
# 填充空值核心代码(将 A 列中缺失值填充为 B):
df.loc [df ['A'].isna (),'A'] = B
统计特征描述:
javascript
# 使用 describe() 函数生成数据集的描述性统计信息,如计数、均值、标准差、最小值、四分位数和最大值
# 输出行依次代表:数据量、平均值、标准差、最小值、下四分位点、中值、上四分位点、最大值
print(df.describe())
关键总结:
导入数据是进行数据分析的第一步,通常来说,数据一般是 csv 格式,在 Python 中,利用pd.read_csv()导入数据;
有数据之后,就要进行数据变换。通常会在这一步移除分析中的非必要数据,在移除之前首先需要查看一下已有数据,包括查看数据的前几行、后几行以及选择特定列的数据;
通过df.isna().sum()查找缺失值数量,并按照实际需要对缺失值进行删除或填充;
python 中通过 describe 属性对数据的统计特征进行描述,获取数据集的描述性统计信息,例如平均值、标准差、最小值、最大值和四分位数。
... ...
问题/困惑:
只是先对于数据的加载有了初步的了解,对于后续数据分析的流程尚不清楚
下一步计划:
通过练习掌握pandas数据导入、查看数据、数据描述
参考资料/相关资源链接:
Pandas文档:https://pandas.pydata.org/docs/