📌  相关文章
📜  在 pandas 列中的每个单元格上打印类型 - Python (1)

📅  最后修改于: 2023-12-03 14:51:03.857000             🧑  作者: Mango

在 pandas 列中的每个单元格上打印类型 - Python

在 pandas 中,我们可以使用 dtype 属性来获取 DataFrame 或 Series 的数据类型。但是,有时我们想要查看每个单元格的数据类型,以便识别问题,比如空值或错误的数据类型。在本文中,我们将介绍如何在 pandas 列中的每个单元格上打印类型的方法。

使用 applymap 函数

applymap 函数可以用来对 DataFrame 中的每个元素执行相同的操作。可以使用 type 函数来获取每个单元格的类型。以下是示例代码:

import pandas as pd

data = {'name': ['John', 'Mary', 'June'],
        'age': [28, 31, 25],
        'salary': [50000, 55000, 48000]}

df = pd.DataFrame(data)

def get_type(x):
    return type(x)

df.applymap(get_type)

该代码将返回一个 DataFrame,其中包含每个单元格的数据类型。

| name             | age           | salary           |
|------------------|--------------|------------------|
| <class 'str'> | <class 'int'> | <class 'int'> |
| <class 'str'> | <class 'int'> | <class 'int'> |
| <class 'str'> | <class 'int'> | <class 'int'> |
使用 apply 函数

使用 apply 函数,我们可以在每一列上执行相同的操作。与 applymap 不同的是,apply 需要传递一个函数,该函数将应用于每个视图。以下是示例代码:

import pandas as pd

data = {'name': ['John', 'Mary', 'June'],
        'age': [28, 31, 25],
        'salary': [50000, 55000, 48000]}

df = pd.DataFrame(data)

def get_type(column):
    return column.apply(type)

df.apply(get_type)

该代码将返回一个 DataFrame,其中包含每个单元格的数据类型。

| name             | age                   | salary                   |
|------------------|-----------------------|--------------------------|
| 0 <class 'str'> | 0 <class 'int'> | 0 <class 'int'> |
| 1 <class 'str'> | 1 <class 'int'> | 1 <class 'int'> |
| 2 <class 'str'> | 2 <class 'int'> | 2 <class 'int'> |
结论

使用 apply 和 applymap 函数,您可以在 pandas 列中的每个单元格上打印类型。这对于数据分析和数据清洗至关重要,并且可以帮助您识别问题。