【pandas小技巧】--按类型选择列

pandas,技巧,按类型,选择 · 浏览次数 : 135

小编点评

**使用列数据类型选择列** **1. 类型种类** pandas列的数据类型主要有以下4大种类: * `number`:数值类型,包括整数和浮点数 * `object`:主要是字符串类型 * `category`:分类类型 * `datetime`:日期类型 **2. 选择类型按列的类型选择** ```python df.select_dtypes(include="category") ``` **2.1. 选择一个类型选择一个类型时,用 include 参数指定列名** ```python df.select_dtypes(include="category") ``` **2.2. 选择多个类型选择多个类型还是 include 参数,不过传入的值是列表** ```python df.select_dtypes(include=["category", "datetime"]) ``` **2.3. 指定不选的类型include参数是指定要选择的类型,如果要选择的类型比较多,我们可以通过exclude参数来设置不需要的类型** ```python df.select_dtypes(exclude="datetime") ``` **示例** ```python import pandas as pddf df = pd.DataFrame( { "日期": ["2020/04/10", "2020/04/11", "2021/06/17", "2021/06/18", "2022/11/22", "2022/11/23"], "年级": ["初一", "初二", "初一", "初二", "初一", "初二"], "学生": ["小红", "小华", "小明", "小李", "小汪", "小郑"], "名次": [1, 1, 2, 3, 1, 3], "平均成绩": [98.5, 95.5, 92.0, 89.5, 99.0, 87.5], }, ) print(df.dtypes) df2 = df.select_dtypes(include="category") print(df2.dtypes) ``` **输出** ``` Float64 object category datetime datetime None object category datetime dtypes object object object object ``` 这将显示数据类型,其中`datetime`、`object`、`category`和`datetime`分别表示日期、字符串、分类和日期类型。

正文

本篇介绍的是pandas选择列数据的一个小技巧。
之前已经介绍了很多选择列数据的方式,比如lociloc函数,按列名称选择,按条件选择等等。

这次介绍的是按照列的数据类型来选择列,按类型选择列可以帮助你快速选择正确的数据类型,提高数据分析的效率。

1. 类型种类

pandas列的数据类型主要有4大种类:

  1. number:数值类型,包括整数和浮点数
  2. object:主要是字符串类型
  3. catagory:分类类型
  4. datetime:日期类型

创建包含上述数据类型的测试数据:

import pandas as pd

df = pd.DataFrame(
    {
        "日期": [
            "2020/04/10",
            "2020/04/11",
            "2021/06/17",
            "2021/06/18",
            "2022/11/22",
            "2022/11/23",
        ],
        "年级": ["初一", "初二", "初一", "初二", "初一", "初二"],
        "学生": ["小红", "小华", "小明", "小李", "小汪", "小郑"],
        "名次": [1, 1, 2, 3, 1, 3],
        "平均成绩": [98.5, 95.5, 92.0, 89.5, 99.0, 87.5],
    },
)
df["日期"] = pd.to_datetime(df["日期"])
df["年级"] = df["年级"].astype("category")
print(df.dtypes)
df

image.png
image.png

2. 选择类型

按列的类型选择用 select_dtypes 函数。

2.1. 选择一个类型

选择一个类型时,用 include 参数指定列名。

df.select_dtypes(include="category")

image.png

number类型包含 intfloat

df.select_dtypes(include="number")

image.png

也可以指定 intfloat 选择整数或者浮点数

df.select_dtypes(include="int")
df.select_dtypes(include="float")

image.png

2.2. 选择多个类型

选择多个类型还是 include 参数,不过传入的值是列表

df.select_dtypes(include=["category", "datetime"])

image.png

2.3. 指定不选的类型

include参数是指定要选择的类型,如果要选择的类型比较多,我们可以通过exclude参数来设置不需要的类型。

df.select_dtypes(exclude="datetime")

image.png

exclude 参数也可以传入列表,设置多个不选择的类型。

df.select_dtypes(exclude=["category", "datetime"])

image.png

与【pandas小技巧】--按类型选择列相似的内容:

【pandas小技巧】--按类型选择列

本篇介绍的是`pandas`选择列数据的一个小技巧。之前已经介绍了很多选择列数据的方式,比如`loc`,`iloc`函数,按列名称选择,按条件选择等等。 这次介绍的是按照列的**数据类型**来选择列,按类型选择列可以帮助你快速选择正确的数据类型,提高数据分析的效率。 # 1. 类型种类 `panda

【pandas小技巧】--category类型补充

`category`类型在**pandas基础**系列中有一篇介绍数据类型的文章中已经介绍过。`category`类型并不是`python`中的类型,是`pandas`特有的类型。 `category`类型的优势那篇文章已经介绍过,当时只是介绍了如何将某个列的数据转换成`category`类型,以及

【pandas小技巧】--拆分列

拆分列是`pandas`中常用的一种数据操作,它可以将一个包含多个值的列按照指定的规则拆分成多个新列,方便进行后续的分析和处理。拆分列的使用场景比较广泛,以下是一些常见的应用场景: 1. 处理日期数据:在日期数据中,经常会将年、月、日等信息合并成一列,通过拆分列可以将其拆分成多个新列,方便进行时间序

【pandas小技巧】--日期相关处理

日期处理相关内容之前`pandas基础`系列中有一篇专门介绍过,本篇补充两个常用的技巧。 # 1. 多列合并为日期 当收集来的数据中,年月日等信息分散在多个列时,往往需要先合并成日期类型,然后才能做分析处理。合并多列转换为日期类型,可以直接用 `to_datetime`函数来处理: ```pytho

【pandas小技巧】--字符串转数值

字符串转数字的用途和场景很多,其中主要包括以下几个方面: 1. 数据清洗:在进行数据处理时,经常会遇到一些数据类型不匹配的问题,比如某些列中的字符串类型被误认为是数字类型,此时需要将这些字符串类型转换为数字类型,才能进行后续的数值计算或统计分析。 2. 数据整理:有时候输入的原始数据可能存在格式问题

【pandas小技巧】--列值的映射

映射列值是指将一个列中的某些特定值映射为另外一些值,常用于数据清洗和转换。 使用映射列值的场景有很多,以下是几种常见的场景: 1. 将字符串类型的列中的某些值映射为数字。例如,将“男”和“女”分别映射为 0 和 1,以便进行机器学习算法的训练和预测。 2. 将缩写替换为全称。例如,将“USA”和“U

【pandas小技巧】--数据转置

所谓**数据转置**,就是是将原始数据表格沿着对角线翻折,使原来的行变成新的列,原来的列变成新的行,从而更方便地进行数据分析和处理。 `pandas`中`DataFrame`的转置非常简单,每个`DataFrame`对象都有一个`T`属性,通过这个属性就能得到转置之后的`DataFrame`。下面介

【pandas小技巧】--统计值作为新列

这次介绍的小技巧不是统计,而是把统计结果作为**新列**和原来的数据放在一起。`pandas`的各种统计功能之前已经介绍了不少,但是每次都是统计结果归统计结果,原始数据归原始数据,没有把它们合并在一个数据集中来观察。 下面通过两个场景示例来演示如果把统计值作为新列的数据。 # 1. 成绩统计的场景

【pandas小技巧】--DataFrame的显示参数

我们在`jupyter notebook`中使用`pandas`显示`DataFrame`的数据时,由于屏幕大小,或者数据量大小的原因,常常会觉得显示出来的表格不是特别符合预期。 这时,就需要调整`pandas`显示`DataFrame`的方式。`pandas`为我们提供了很多调整显示方式的参数,具

【pandas小技巧】--DataFrame的显示样式

上一篇介绍了`DataFrame`的显示参数,主要是对`DataFrame`中值进行调整。 本篇介绍`DataFrame`的显示样式的调整,显示样式主要是对表格本身的调整,比如颜色,通过颜色可以突出显示重要的值,观察数据时可以更加高效的获取主要信息。 下面介绍一些针对单个数据和批量数据的样式调整方式