Datawhale动手数据分析第一章

昊萌 Lv2

Datawhale动手数据分析第一章

学习资料:https://github.com/datawhalechina/hands-on-data-analysis

本文包含以下部分:

  • 数据加载和初步观察
  • pandas基础
  • 简单数据探索性分析

数据加载

载入数据

1
dataframe = pd.read_csv("filepath_or_buffer")

可选参数

  • sep :用于分隔字段的字符。默认为逗号。如果 CSV 文件使用其他字符作为分隔符,可以通过此参数指定。

    比如你发现所有数据都挤到一个格子里啦~

  • encoding :文件编码方式,比如中英文转化乱码时需要指定。不同的操作系统保存下来也可能会有乱码。

  • index_col :用作行索引的列编号或列名。如果设置为 False 则不将任何列用作索引。默认情况下使用默认的整数索引。

  • names :用来重置表头。

  • chunksize :按块读取数据,返回可迭代的一定行数的 Dataframe。

初步观察

熟悉表头,数据样式,数据类型:

1
2
3
4
5
6
7
df.head(n)      # 查看前n行数据,n默认5
df.tail(n) # 查看后n行数据,n默认5
df.info() # 总览每一列的表头,非空值数量和数据类型
df.isnull() # 判断列表的每一个位置是否为空,返回与df大小相同的真值表
df.describe() # 查看数据集各个特征的一些基本统计量
df.shape # 查看数据表大小
df.columns # 查看列名

Pandas简单基础

索引

列索引,两种方法均可:

1
2
df.columns_name
df['columns_name']

iloc 和 loc

1
2
df.iloc[]  # 位置索引
df.loc[] # 标签索引

直接看例子:

1
2
3
4
5
6
7
8
9
df.iloc[0]        # 选择第一行
df.iloc[:, 0] # 选择第一列
df.iloc[1:3, :] # 选择第二行到第三行(不包括第四行),所有列
df.iloc[[0, 2]] # 选择第一行和第三行

df.loc['a'] # 选择行标签为'a'的行
df.loc[:, 'column1'] # 选择名为'column1'的列
df.loc['a':'c', :] # 选择行标签从'a'到'c'的所有行,所有列
df.loc[['a', 'c']] # 选择行标签为'a'和'c'的行

排序

一个是按值排序,一个是按索引排序,ascending 指定升降序。

1
2
df.sort_values(by=['col_na'], ascending=True)
df.sort_index(axis=1, ascending=False)

数据删除

df.drop()del df[''] 都可以用来删除列。

二者对比:

  • 功能:drop 不仅可以删除列,还可以删除行。而 del 仅用于删除列。
  • 操作方式:drop 方法更灵活,可以接受标签名称作为参数来指定要删除的行或列,还可以选择是否在原始DataFrame上进行修改(通过设置 inplace=True)或返回一个新的 DataFrame 对象。而 del 操作符则直接删除指定的列,不会返回新的对象。

在对数据进行切片、过滤或排序后,索引可能变得不连续或无序。可以使用 reset_index() 重置索引。

探索性数据分析

教程主要做了一些描述性统计和数据的算数运算,简单查看了一些数据的特征和不同变量间的相关性。

因此,我认为这部分工作主要取决于个人的习惯和数据直觉。即充分的满足自己对数据的好奇。

此处不再,之后做特征工程时整理更详细的 EDA 方法。

  • 标题: Datawhale动手数据分析第一章
  • 作者: 昊萌
  • 创建于 : 2024-03-12 21:51:36
  • 更新于 : 2026-07-05 23:14:11
  • 链接: https://zilongtian.github.io/2024/03/12/Datawhale动手数据分析第一章/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论