python中dtype什么意思_什么是dtype('O')?
当您看到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')?相关推荐
- Python中单个下划线“ _”变量的用途是什么?
这段代码中_ after for的含义是什么? if tbh.bag:n = 0for _ in tbh.bag.atom_set():n += 1 #1楼 下划线_在Python中被视为" ...
- Python中单个下划线“_”变量的目的是什么?
在Python中,下划线_被视为" 我不关心 "或" 丢失 "变量 python解释器将最后一个表达式值存储到名为的特殊变量中_. >>> 1 ...
- python中的下划线_讲解
python中,下划线 "_""_"" \_" 不管是单独作为变量名或者作为变量名的前缀或者后缀,是有特殊含义的,下面简要的来总结一下. 1 ...
- Python中带下划线_的变量和函数命名的用法
Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...
- python中case的用法_用 Python 实现简单的 switch/case 语句
在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不承认,的确如此 ...
- python中nlp的库_用于nlp的python中的网站数据清理
python中nlp的库 The most important step of any data-driven project is obtaining quality data. Without t ...
- python中不被定义_一日一技:在Python中双下划线私有方法不能被调用的原理
一日一技:在Python中双下划线私有方法不能被调用的原理 在使用Python编写面向对象的代码时,我们会常常使用"继承"这种开发方式.例如下面这一段代码: class Info: ...
- python中拼音怎么用_实用小技巧,Python一秒将汉字转为拼音
大家好,欢迎来到Crossin的编程教室! 有时在处理文件时候,我们需要将中文汉字转换为拼音或者拼音首字母的需求:还有的时候,我们需要对汉字进行按拼音字母排序(汉字的默认排序是编码序而非拼音序).针对 ...
- python中对列表排序_在Python中对嵌套列表进行排序和分组
在Python中对嵌套列表进行排序和分组 我具有以下数据结构(列表列表) [ ['4', '21', '1', '14', '2008-10-24 15:42:58'], ['3', '22', '4 ...
- python中for循环加速_如何让Python代码加速运行?
Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足.但是,有很多时候,Python 的效率并没有想象中的那么夸张.本文对一些 Python 代码加速运行的技巧 ...
最新文章
- 全栈Python Flask教程-建立社交网络
- Runtime.getRuntime().exec();里面产生停滞(阻塞,blocking)
- 为什么做了梦第二天想不起来_为什么做的梦总是想不起来?科学的解释是……...
- 【简便代码】1082 射击比赛 (20分)_17行代码AC
- 贾又福大象鸿蒙,奏乐!继续吹!库里又创记录,射进MVP榜单,众多名记变“库吹“...
- 【2017年第4期】专题:大数据标准
- https://www.cnblogs.com/jingmoxukong/p/7755643.html
- java基础—几种for循环编程思想
- 你见过最奇葩的人和事是什么?
- 【转】Linux C动态内存泄漏追踪方法
- 【2020模拟考试T4】【PAT乙】1034 有理数四则运算 (20分) 测试点2
- Spark案例实战教程
- POJ 1128 Frame Stacking 拓扑排序+暴搜
- 安全模式:天猫 App 启动保护实践
- 网站被攻击,用CDN有用吗?
- Leetcode 853 车队
- Binet‘s Formula 算法
- 重磅!朱松纯加入北京大学,此前曾传拟加入清华
- qt学习总结之探索Qt的安装目录结构
- 全双工与半双工带宽区别
热门文章
- day15 java的final
- bigint最大有多少位_《追光吧哥哥》21位艺人靠实力成团?不见得,节目赛制本不公平...
- vuex commit 模块_长篇连载:Vuex源码学习(二)脉络梳理
- linux zabbix使用教程,《Zabbix安装部署》-Centos7
- c# mysql 时间_c# – 无法在VS2010中将MySQL日期/时间值转换为System.DateTime
- gcn在图像上的应用_GCN的概念与应用
- fullgc触发条件_JVM的内存分配策略以及进入分代的条件
- java 删除桌面快捷方式_能否在桌面创建快捷方式运行java程序?
- 三个数差的平方公式推导过程_万有引力常量反复测量不“常”咋回事?新常量公式诠释引力本质...
- 威客php,phpapp威客系统下载