当您看到dtype('O')内部数据帧时,这意味着Pandas字符串。

什么是dtype?

有时候,那属于pandas或numpy,或两者,或其他什么东西?如果我们检查一下pandas代码:df = pd.DataFrame({'float': [1.0],

'int': [1],

'datetime': [pd.Timestamp('20180310')],

'string': ['foo']})

print(df)

print(df['float'].dtype,df['int'].dtype,df['datetime'].dtype,df['string'].dtype)

df['string'].dtype

它将输出如下:float int datetime string

0 1.0 1 2018-03-10 foo

---

float64 int64 datetime64[ns] object

---

dtype('O')

您可以将最后一个解释为Pandas dtype('O')或Pandas对象,这是Python类型字符串,这对应于Numpy string_或unicode_类型。Pandas dtype Python type NumPy type Usage

object str string_, unicode_ Text

像Don Quixote一样,Pandas在Numpy上,Numpy了解你的系统的底层架构并使用该类numpy.dtype。

数据类型对象是一个numpy.dtype类的实例,它更精确地理解数据类型,包括:数据类型(整数,浮点数,Python对象等)

数据的大小(例如整数中的字节数)

数据的字节顺序(little-endian或big-endian)

如果数据类型是结构化的,则是其他数据类型的聚合(例如,描述由整数和浮点数组成的数组项)

结构“字段”的名称是什么

每个字段的数据类型是什么

每个字段占用的内存块的哪一部分

如果数据类型是子数组,那么它的形状和数据类型是什么

在这个问题的上下文dtype属于pands和numpy,特别dtype('O')是我们期望的字符串。

下面是一些用于测试和解释的代码:如果我们将数据集作为字典import pandas as pd

import numpy as np

from pandas import Timestamp

data={'id': {0: 1, 1: 2, 2: 3, 3: 4, 4: 5}, 'date': {0: Timestamp('2018-12-12 00:00:00'), 1: Timestamp('2018-12-12 00:00:00'), 2: Timestamp('2018-12-12 00:00:00'), 3: Timestamp('2018-12-12 00:00:00'), 4: Timestamp('2018-12-12 00:00:00')}, 'role': {0: 'Support', 1: 'Marketing', 2: 'Business Development', 3: 'Sales', 4: 'Engineering'}, 'num': {0: 123, 1: 234, 2: 345, 3: 456, 4: 567}, 'fnum': {0: 3.14, 1: 2.14, 2: -0.14, 3: 41.3, 4: 3.14}}

df = pd.DataFrame.from_dict(data) #now we have a dataframe

print(df)

print(df.dtypes)

最后一行将检查数据帧并记下输出:id date role num fnum

0 1 2018-12-12 Support 123 3.14

1 2 2018-12-12 Marketing 234 2.14

2 3 2018-12-12 Business Development 345 -0.14

3 4 2018-12-12 Sales 456 41.30

4 5 2018-12-12 Engineering 567 3.14

id int64

date datetime64[ns]

role object

num int64

fnum float64

dtype: object

各种不同 dtypesdf.iloc[1,:] = np.nan

df.iloc[2,:] = None

但是如果建立 np.nan or None 这个也不会影响原始列的 dtype. 输出就是下列所示:print(df)

print(df.dtypes)

id date role num fnum

0 1.0 2018-12-12 Support 123.0 3.14

1 NaN NaT NaN NaN NaN

2 NaN NaT None NaN NaN

3 4.0 2018-12-12 Sales 456.0 41.30

4 5.0 2018-12-12 Engineering 567.0 3.14

id float64

date datetime64[ns]

role object

num float64

fnum float64

dtype: object

因此,除非我们将所有列行设置为np.nan或None,否则np.nan或None不会更改列dtype。 在这种情况下,列将分别成为float64或对象。

您也可以尝试设置单行:df.iloc[3,:] = 0 # will convert datetime to object only

df.iloc[4,:] = '' # will convert all columns to object

And to note here, if we set string inside a non string column it will become string or object dtype.

python中dtype什么意思_什么是dtype('O')?相关推荐

  1. Python中单个下划线“ _”变量的用途是什么?

    这段代码中_ after for的含义是什么? if tbh.bag:n = 0for _ in tbh.bag.atom_set():n += 1 #1楼 下划线_在Python中被视为" ...

  2. Python中单个下划线“_”变量的目的是什么?

    在Python中,下划线_被视为" 我不关心 "或" 丢失 "变量 python解释器将最后一个表达式值存储到名为的特殊变量中_. >>> 1 ...

  3. python中的下划线_讲解

    python中,下划线 "_""_"" \_" 不管是单独作为变量名或者作为变量名的前缀或者后缀,是有特殊含义的,下面简要的来总结一下. 1 ...

  4. Python中带下划线_的变量和函数命名的用法

    Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...

  5. python中case的用法_用 Python 实现简单的 switch/case 语句

    在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不承认,的确如此 ...

  6. python中nlp的库_用于nlp的python中的网站数据清理

    python中nlp的库 The most important step of any data-driven project is obtaining quality data. Without t ...

  7. python中不被定义_一日一技:在Python中双下划线私有方法不能被调用的原理

    一日一技:在Python中双下划线私有方法不能被调用的原理 在使用Python编写面向对象的代码时,我们会常常使用"继承"这种开发方式.例如下面这一段代码: class Info: ...

  8. python中拼音怎么用_实用小技巧,Python一秒将汉字转为拼音

    大家好,欢迎来到Crossin的编程教室! 有时在处理文件时候,我们需要将中文汉字转换为拼音或者拼音首字母的需求:还有的时候,我们需要对汉字进行按拼音字母排序(汉字的默认排序是编码序而非拼音序).针对 ...

  9. python中对列表排序_在Python中对嵌套列表进行排序和分组

    在Python中对嵌套列表进行排序和分组 我具有以下数据结构(列表列表) [ ['4', '21', '1', '14', '2008-10-24 15:42:58'], ['3', '22', '4 ...

  10. python中for循环加速_如何让Python代码加速运行?

    Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足.但是,有很多时候,Python 的效率并没有想象中的那么夸张.本文对一些 Python 代码加速运行的技巧 ...

最新文章

  1. 全栈Python Flask教程-建立社交网络
  2. Runtime.getRuntime().exec();里面产生停滞(阻塞,blocking)
  3. 为什么做了梦第二天想不起来_为什么做的梦总是想不起来?科学的解释是……...
  4. 【简便代码】1082 射击比赛 (20分)_17行代码AC
  5. 贾又福大象鸿蒙,奏乐!继续吹!库里又创记录,射进MVP榜单,众多名记变“库吹“...
  6. 【2017年第4期】专题:大数据标准
  7. https://www.cnblogs.com/jingmoxukong/p/7755643.html
  8. java基础—几种for循环编程思想
  9. 你见过最奇葩的人和事是什么?
  10. 【转】Linux C动态内存泄漏追踪方法
  11. 【2020模拟考试T4】【PAT乙】1034 有理数四则运算 (20分) 测试点2
  12. Spark案例实战教程
  13. POJ 1128 Frame Stacking 拓扑排序+暴搜
  14. 安全模式:天猫 App 启动保护实践
  15. 网站被攻击,用CDN有用吗?
  16. Leetcode 853 车队
  17. Binet‘s Formula 算法
  18. 重磅!朱松纯加入北京大学,此前曾传拟加入清华
  19. qt学习总结之探索Qt的安装目录结构
  20. 全双工与半双工带宽区别

热门文章

  1. day15 java的final
  2. bigint最大有多少位_《追光吧哥哥》21位艺人靠实力成团?不见得,节目赛制本不公平...
  3. vuex commit 模块_长篇连载:Vuex源码学习(二)脉络梳理
  4. linux zabbix使用教程,《Zabbix安装部署》-Centos7
  5. c# mysql 时间_c# – 无法在VS2010中将MySQL日期/时间值转换为System.DateTime
  6. gcn在图像上的应用_GCN的概念与应用
  7. fullgc触发条件_JVM的内存分配策略以及进入分代的条件
  8. java 删除桌面快捷方式_能否在桌面创建快捷方式运行java程序?
  9. 三个数差的平方公式推导过程_万有引力常量反复测量不“常”咋回事?新常量公式诠释引力本质...
  10. 威客php,phpapp威客系统下载