🎬 HoRain云小助手个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

📚 Pandas 数组/标量/数据类型参考手册

一、Pandas 数组 (Arrays)

1.1 核心数组类型

1.2 ExtensionArray 特性

二、Pandas 标量 (Scalars)

2.1 常见标量类型

2.2 空值类型对比

三、Pandas 数据类型 (dtypes)

3.1 NumPy 基础类型

3.2 Pandas 扩展类型(推荐)

3.3 dtype 使用示例

四、核心数据结构

4.1 Series(一维)

4.2 DataFrame(二维)

五、版本兼容性注意事项(Pandas 2.0+)

六、实用技巧

6.1 数据类型检查

6.2 内存优化

七、官方资源


img

根据搜索结果,我为您整理了一份完整的 Pandas 数组/标量/数据类型参考手册


📚 Pandas 数组/标量/数据类型参考手册

一、Pandas 数组 (Arrays)

1.1 核心数组类型

类/方法 描述
pd.array(data, dtype) 创建一个 Pandas 数组(ExtensionArray)
pd.Series.array 返回 Series 的底层数组(ExtensionArray)
pd.arrays.DatetimeArray 用于存储日期时间数据的数组
pd.arrays.TimedeltaArray 用于存储时间间隔数据的数组
pd.arrays.PeriodArray 用于存储周期数据的数组
pd.arrays.SparseArray 用于存储稀疏数据的数组
pd.arrays.StringArray 用于存储字符串数据的数组
pd.arrays.BooleanArray 用于存储布尔数据的数组
pd.arrays.IntegerArray 用于存储整数数据的数组

1.2 ExtensionArray 特性

from pandas.api.extensions import ExtensionArray

class StringArray(ExtensionArray):
    def __init__(self, data):
        self.data = data
    
    def __len__(self):
        return len(self.data)
    
    def __getitem__(self, idx):
        return self.data[idx]
    
    def __setitem__(self, idx, value):
        self.data[idx] = value

二、Pandas 标量 (Scalars)

2.1 常见标量类型

标量类/方法 描述
pd.NA 表示缺失值的标量(类似于 NaN,但更通用)
pd.NaN NumPy 的浮点缺失值
pd.NaT 表示日期时间的缺失值(Not a Time)
pd.Timestamp 表示时间戳
pd.Timedelta 表示时间间隔
pd.Period 表示时间段
pd.Interval 表示区间

2.2 空值类型对比

空值类型 适用场景 说明
pd.NA 所有 Pandas 扩展类型 统一的缺失值表示
np.NaN NumPy 浮点数 仅适用于浮点类型
pd.NaT 日期时间类型 时间相关的缺失值
None Python 对象 Python 原生空值

三、Pandas 数据类型 (dtypes)

3.1 NumPy 基础类型

类型 别名 描述
int8, int16, int32, int64 np.int8 有符号整数
uint8, uint16, uint32, uint64 np.uint8 无符号整数
float16, float32, float64 np.float16 浮点数
complex64, complex128 np.complex64 复数
datetime64 np.datetime64 日期时间
timedelta64 np.timedelta64 时间间隔

3.2 Pandas 扩展类型(推荐)

类型 别名 描述 优势
Int8, Int16, Int32, Int64 pd.Int64Dtype() 可空整数 支持 pd.NA
UInt8, UInt16, UInt32, UInt64 pd.UInt64Dtype() 可空无符号整数 支持 pd.NA
Float32, Float64 pd.Float64Dtype() 可空浮点数 支持 pd.NA
string pd.StringDtype() 字符串 更好的空值处理
boolean pd.BooleanDtype() 布尔值 支持 pd.NA
object - Python 对象 通用但效率较低

3.3 dtype 使用示例

import pandas as pd
import numpy as np

# 指定列数据类型
df = pd.read_excel('data.xlsx', dtype={
    'ID': 'int32',
    'Name': 'string',
    'Age': 'Int8',      # 可空整数
    'Salary': 'float32'
})

# 转换数据类型
series = pd.Series([1, 2, None, 4])
series = series.astype('Int64')  # 转换为可空整数

# 自动推断最佳类型
df = df.convert_dtypes()

四、核心数据结构

4.1 Series(一维)

# 创建 Series
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])

# 主要属性
s.index      # 索引
s.values     # 值
s.dtype      # 数据类型
s.shape      # 形状
s.nbytes     # 字节大小

4.2 DataFrame(二维)

# 创建 DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': ['x', 'y', 'z']
}, index=['row1', 'row2', 'row3'])

# 主要属性
df.columns   # 列名
df.index     # 行索引
df.dtypes    # 各列数据类型
df.shape     # 形状

五、版本兼容性注意事项(Pandas 2.0+)

变更项 说明 解决方案
时间索引行为 字符串不再自动对齐 datetime 索引 使用 pd.Timestamp 显式构造
扩展类型推荐 推荐使用 stringInt64 等扩展类型 使用 convert_dtypes()
空值处理 pd.NA 成为统一缺失值表示 避免混用 NaNNone

六、实用技巧

6.1 数据类型检查

from pandas.api import types

types.is_integer_dtype(series)      # 检查是否为整数类型
types.is_float_dtype(series)        # 检查是否为浮点类型
types.is_string_dtype(series)       # 检查是否为字符串类型
types.is_datetime64_any_dtype(series)  # 检查是否为日期时间类型

6.2 内存优化

场景 推荐类型 内存节省
小整数 Int8/Int16 最高 75%
大整数 Int32/Int64 视情况
小数 Float32 50%
文本 string 更高效

七、官方资源


💡 提示: Pandas 3.0.0 已发布,建议升级到最新版本以获得更好的性能和功能支持。使用 pd.__version__ 检查当前版本。

这份参考手册涵盖了 Pandas 数组、标量和数据类型的核心内容,可作为日常开发的速查指南!

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐