欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 【Pandas】pandas DataFrame dtypes

【Pandas】pandas DataFrame dtypes

2025/4/3 7:01:44 来源:https://blog.csdn.net/weixin_39648905/article/details/146922961  浏览:    关键词:【Pandas】pandas DataFrame dtypes

Pandas2.2 DataFrame

Attributes and underlying data

方法描述
DataFrame.index用于获取 DataFrame 的行索引
DataFrame.columns用于获取 DataFrame 的列标签
DataFrame.dtypes用于获取 DataFrame 中每一列的数据类型

pandas.DataFrame.dtypes

pandas.DataFrame.dtypes 属性用于获取 DataFrame 中每一列的数据类型。通过 dtypes 属性,可以查看 DataFrame 中各列的数据类型,这对于数据验证和处理非常重要。

属性说明
  • DataFrame.dtypes:返回一个 Series 对象,其中索引是列名,值是对应的列的数据类型。
示例
import pandas as pd# 创建一个示例 DataFrame
data = {'A': [10, 20, 30],          # 整数类型'B': [40.5, 50.5, 60.5],    # 浮点数类型'C': ['x', 'y', 'z'],       # 字符串类型'D': pd.to_datetime(['2023-01-01', '2023-01-02', '2023-01-03']),  # 日期时间类型'E': pd.Series([True, False, True], dtype='bool')  # 布尔类型
}df = pd.DataFrame(data, index=['row1', 'row2', 'row3'])# 获取 DataFrame 的列数据类型
dtypes = df.dtypes
print("DataFrame dtypes:\n", dtypes)# 查看特定列的数据类型
print("\nData type of column 'A':", df['A'].dtype)# 查看特定列的数据类型(另一种方法)
print("\nData type of column 'B':", df.dtypes['B'])# 修改列的数据类型
df['A'] = df['A'].astype(float)
print("\nModified DataFrame dtypes:\n", df.dtypes)
结果
  1. 获取 DataFrame 的列数据类型

    • 数据内容:
      A            int64
      B          float64
      C           object
      D    datetime64[ns]
      E              bool
      dtype: object
      
  2. 查看特定列的数据类型

    • 列 ‘A’ 的数据类型:
      int64
      
  3. 查看特定列的数据类型(另一种方法)

    • 列 ‘B’ 的数据类型:
      float64
      
  4. 修改列的数据类型

    • 修改后的数据类型:
      A          float64
      B          float64
      C           object
      D    datetime64[ns]
      E              bool
      dtype: object
      

通过这些示例,可以看到 pandas.DataFrame.dtypes 属性如何获取和修改 DataFrame 中各列的数据类型。这些操作对于数据验证和处理非常重要。

详细说明
  1. 获取 DataFrame 的列数据类型

    • 使用 df.dtypes 获取 DataFrame 中各列的数据类型。
    • 数据内容:
      A            int64
      B          float64
      C           object
      D    datetime64[ns]
      E              bool
      dtype: object
      
  2. 查看特定列的数据类型

    • 使用 df['A'].dtype 查看列 ‘A’ 的数据类型。
    • 列 ‘A’ 的数据类型:
      int64
      
  3. 查看特定列的数据类型(另一种方法)

    • 使用 df.dtypes['B'] 查看列 ‘B’ 的数据类型。
    • 列 ‘B’ 的数据类型:
      float64
      
  4. 修改列的数据类型

    • 使用 df['A'].astype(float) 将列 ‘A’ 的数据类型从 int64 修改为 float64
    • 修改后的数据类型:
      A          float64
      B          float64
      C           object
      D    datetime64[ns]
      E              bool
      dtype: object
      

通过这些示例,可以看到 pandas.DataFrame.dtypes 属性如何获取和修改 DataFrame 中各列的数据类型。这些操作对于数据验证和处理非常重要。

注意事项
  • DataFrame.dtypes 返回的是一个 Series 对象,其中索引是列名,值是对应的列的数据类型。
  • 可以使用 df['column_name'].dtype 查看特定列的数据类型。
  • 可以使用 df.dtypes['column_name'] 查看特定列的数据类型(另一种方法)。
  • 可以使用 df['column_name'].astype(new_dtype) 修改特定列的数据类型。

通过这些方法,可以灵活地获取和修改 DataFrame 中各列的数据类型,从而更好地进行数据处理和分析。

示例代码及验证

为了验证 pandas.DataFrame.dtypes 属性的效果,可以运行上述示例代码并查看输出结果。

import pandas as pd# 创建一个示例 DataFrame
data = {'A': [10, 20, 30],          # 整数类型'B': [40.5, 50.5, 60.5],    # 浮点数类型'C': ['x', 'y', 'z'],       # 字符串类型'D': pd.to_datetime(['2023-01-01', '2023-01-02', '2023-01-03']),  # 日期时间类型'E': pd.Series([True, False, True], dtype='bool')  # 布尔类型
}df = pd.DataFrame(data, index=['row1', 'row2', 'row3'])# 获取 DataFrame 的列数据类型
dtypes = df.dtypes
print("DataFrame dtypes:\n", dtypes)# 查看特定列的数据类型
print("\nData type of column 'A':", df['A'].dtype)# 查看特定列的数据类型(另一种方法)
print("\nData type of column 'B':", df.dtypes['B'])# 修改列的数据类型
df['A'] = df['A'].astype(float)
print("\nModified DataFrame dtypes:\n", df.dtypes)
运行结果

运行上述代码后,你会看到以下输出:

DataFrame dtypes:A            int64
B          float64
C           object
D    datetime64[ns]
E              bool
dtype: objectData type of column 'A': int64Data type of column 'B': float64Modified DataFrame dtypes:A          float64
B          float64
C           object
D    datetime64[ns]
E              bool
dtype: object

通过这些示例,可以看到 pandas.DataFrame.dtypes 属性如何获取和修改 DataFrame 中各列的数据类型。这些操作对于数据验证和处理非常重要。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词