📜  计算 pandas 中的类类型 (1)

📅  最后修改于: 2023-12-03 15:11:59.538000             🧑  作者: Mango

计算 pandas 中的类类型

Pandas 中有不同的类类型,比如 int 类型、float 类型、bool 类型、datetime 类型等等。在进行数据分析和处理时,了解不同的类类型十分必要。下面来介绍如何简单计算 Pandas 中的类类型。

1. 读取数据

首先,我们需要读取一份数据。以下是一份示例数据:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella', 'Frank'],
        'age': [25, 30, 35, 40, 45, 50],
        'weight': [50.0, 60.0, 70.0, 80.0, 90.0, 100.0],
        'married': [False, True, False, True, False, True],
        'birth': [pd.Timestamp('1995-01-01'), pd.Timestamp('1990-01-01'),
                  pd.Timestamp('1985-01-01'), pd.Timestamp('1980-01-01'),
                  pd.Timestamp('1975-01-01'), pd.Timestamp('1970-01-01')]}
df = pd.DataFrame(data)
2. 查看数据类型

我们可以用 .dtypes 属性来查看每个列的数据类型,例如:

print(df.dtypes)

运行结果如下:

name               object
age                 int64
weight            float64
married              bool
birth      datetime64[ns]
dtype: object

可以看到,name 列是 object 类型,age 列是 int64 类型,weight 列是 float64 类型,married 列是 bool 类型,birth 列是 datetime64[ns] 类型。

3. 统计不同类型的列的数量

我们可以用 .get_dtype_counts() 方法来查看每种数据类型的列的数量,例如:

print(df.get_dtype_counts())

运行结果如下:

bool              1
datetime64[ns]    1
float64           1
int64             1
object            1
dtype: int64

可以看到,该数据框有 1 列是 bool 类型、1 列是 datetime64[ns] 类型、1 列是 float64 类型、1 列是 int64 类型、1 列是 object 类型。

4. 按照类型筛选列

我们可以使用 .select_dtypes() 方法来按照类型筛选列。例如,选出所有的 int64 列:

print(df.select_dtypes(include=['int64']))

运行结果如下:

   age
0   25
1   30
2   35
3   40
4   45
5   50

如果要选出所有的数值型列,可以使用 include=['int64', 'float64']。如果要选出所有的非数值型列,可以使用 exclude=['int64', 'float64']

结论

本文介绍了如何简单计算 Pandas 中的类类型。您可以使用 .dtypes 向量来查看每个列的数据类型,使用 .get_dtype_counts() 方法来查看每种数据类型的列的数量,使用 .select_dtypes() 方法来按照类型筛选列。这些很有用,因为在数据分析和处理过程中,我们需要知道数据的类型,以了解哪些方法和函数可以使用,以及如何将数据转换为新的类型。