pandas

news/2024/10/19 21:07:54

DataFrame类的dtype介绍如下:
object: 定义该列值可以存放任意类型的内容,比如float64, str, int32等等。从excel读入时,空值将以float64形式存储为np.NaN。
float64: 即浮点形,为numpy的浮点形,而不是python内置类型的float,在numpy中运行时相较于float有性能优势,空值存储为np.NaN
pd.StringDtype(): pandas的内置字符串类型,空值为pd.NA。显示定义这个类型的列后,列中所有值都将是str,而不像object,会将某个值推断为非str类型。

列定义为dtype=object时,该列中每行的值的实际存储类型可以有多处。 但列定义为float64或int32时,所有值必须都是符合该定义类型的数值,或np.NaN(一般从excel读入空值时便是np.NaN)。
列定义为dtype=np.float64时,必须确保每个值要么是空,要么是能转为数值的字符串。整个列类型为numpy.float64
列定义为dtype=str时,所有值都会实际以str存储,但整个列的类型仍然为object,既后续可能追加非str类型的值。
列定义为dtype=pd.StringDtype()是,所有值都会实际以str存储,但整个列的类型为string[python],既后续追加的新值必须也是str。

当使用类似df_object['cola'].str.contains('abc', na=False)) 这样的函数时,一定要确保该列都为str的值,否则,遇到推断为非str值时,就会报错。所以建议如果要在某列上使用这种函数,应该显示指定dtype=str或pd.StringDtype()。

举列

import pandas as pd
import numpy as npdf_object = pd.DataFrame({"cola": [33,34.1,35,36]}, dtype=object)  # 列类型为object
type(df_object['cola'][0])  # 输出结果为 int
df_object['cola'][0] # 输出结果为 33
type(df_object['cola'][1])  # 输出结果为 float (注意,这里该值类型为float, 而不是numpy.float64)
df_object['cola'][1] # 输出结果为 34.1df_float = pd.DataFrame({"cola": [33,34.1,35,36]}, dtype=np.float64)  # 列类型为float64
type(df_float ['cola'][1])  # 输出结果为 numpy.float64
df_float['cola'][1] # 输出结果为 34.1df_str = pd.DataFrame({"cola": [33,34,35,36]}, dtype=str)  # 列类型仍然为object
type(df_str['cola'][1])  # 输出结果为 str
df_str['cola'][1] # 输出结果为 '34.1'df_pdstr = pd.DataFrame({"cola": [33,34,35,36]}, dtype=pd.StringDtype())  # 列类型为string[python]
type(df_pdstr['cola'][1])  # 输出结果为 str
df_pdstr['cola'][1] # 输出结果为 '34.1'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73577.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

20222416 2024-2025-1 《网络与系统攻防技术》实验二实验报告

1.实验内容 1.1 内容总结 后门:特指潜伏于操作系统中专门做后门的一个程序,“坏人”可以连接这个程序,远程执行各种指令。概念和木马有重叠。 netcat:一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。 Meterpreter:一个能生成后门程序…

测试问卷

main.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head><meta charset="UTF-8"><title>测试</title> </hea…

Multi-Patch Prediction Adapting LLMs for Time Series Representation Learning

这篇论文是出自2024ICML的一篇论文,作者成功将大语言模型应用到时序模型之中,并在时序领域取得了很好的效果,不仅如此,作者还设置了多种下游任务,从论文结果得知,作者的模型在下游任务处都取得了很好的成果。组会论文,有需要者私聊。

文件系统基础

初识文件系统文件是以硬盘位载体存储在计算机上的信息集合,在系统运行时,计算机以进程为基本单位进行资源的调度与分配而在用户进行的输入、输出中,则以文件为基本单位。这就需要操作系统有一个文件管理系统。 操作系统的文件管理系统需要关心以下内容:计算机中存放了各种各…

网站图修改后怎么替换

网站图片修改并替换的过程可以分为几个步骤,具体如下:备份原图:在替换之前,确保备份原有的图片文件。这一步是为了防止新图片出现问题时,可以快速恢复到原来的状态。修改图片:使用图像编辑软件(如Photoshop、GIMP等)对图片进行修改。 确保修改后的图片格式与原图一致,…

从需求分析、产品设计到部署交付各阶段说明

需求分析、产品设计到部署交付各阶段图解 下面用一张图来表示产品设计到部署交付阶段:研发流程各环节:需求分析 产品设计 UI设计 开发和测试 部署交付团队划分 按职能划分团队产品团队 后端开发团队 UI 设计团队 前端开发团队 运维和测试团队 移动开发团队 按职能来划分团队,…

织梦网站搬家修改配置

备份原网站数据在进行任何操作之前,请确保对原网站的数据和文件进行全面备份,包括数据库和所有文件。导出数据库登录到原服务器的数据库管理工具(如phpMyAdmin)。 选择织梦网站对应的数据库,点击导出,选择“快速”或“自定义”模式,然后下载数据库文件。上传文件到新服务…

数据库修改网站后台登录?

要修改网站后台登录相关的数据库设置,通常涉及到以下几个步骤:确定数据库类型:确定你使用的数据库类型(如 MySQL, PostgreSQL, SQLite 等)。备份数据库:在进行任何修改之前,确保对当前数据库进行备份,以防出现意外情况。访问数据库:使用数据库管理工具(如 phpMyAdmin…