网络编程
位置:首页>> 网络编程>> 网络编程>> Pandas 类型转换astype()的实现

Pandas 类型转换astype()的实现

作者:山茶花开时。  发布时间:2022-03-13 17:39:52 

标签:Pandas,类型转换,astype()

Python中和Pandas中数据类型对应关系如下:

Pandas 类型转换astype()的实现

  • 果数据是纯净的数据,可以转化为数字

  • astype基本也就是两种用作,数字转化为单纯字符串,单纯数字的字符串转化为数字,含有其他的非数字的字符串是不能通过astype进行转化的。

  • 需要引入其他的方法进行转化,也就有了下面的自定义函数方法

astype()是最常见也是最通用的数据类型转换方法

import pandas as pd

df = pd.DataFrame([['liver','E',89,21,24,64],
                  ['Arry','C',36,37,37,57],
                  ['Ack','A',57,60,18,84],
                  ['Eorge','C',93,96,71,78],
                  ['Oah','D',65,49,61,86]
                 ],
                  columns = ['name','team','Q1','Q2','Q3','Q4'])

res = df.dtypes

df.Q1.astype('int32').dtypes # dtype('int32')
df.astype({'Q1':'int32','Q2':'int32'}).dtypes

结果展示

df

Pandas 类型转换astype()的实现

res

Pandas 类型转换astype()的实现

Pandas 类型转换astype()的实现

 扩展

# 以下是一些使用示例:
df.index.astype('int64') # 索引类型转换
df.astype('int32') # 所有数据转换为int32
df.astype({'col1':'int32'}) # 指定字段转指定类型
s.astype('int64')
s.astype('int64',copy = False) # 不与原数据关联
df['name'].astype('object')
data['Q4'].astype('float')
s.astype('datatime64[ns]') # 转为时间类型
data['状态'].astype('bool')

数据类型

df.dtypes会返回每个字段的数据类型及DataFrame整体的类型

如果是Series,需要用s.dtype

import pandas as pd

df = pd.DataFrame([['liver','E',89,21,24,64],
                  ['Arry','C',36,37,37,57],
                  ['Ack','A',57,60,18,84],
                  ['Eorge','C',93,96,71,78],
                  ['Oah','D',65,49,61,86]
                 ],
                  columns = ['name','team','Q1','Q2','Q3','Q4'])
df.dtypes

s = pd.Series(['One','Two','Three'])
s.dtype

结果展示

df

Pandas 类型转换astype()的实现

Pandas 类型转换astype()的实现

s

Pandas 类型转换astype()的实现

Pandas 类型转换astype()的实现

当数据的格式不具备转换为目标类型的条件时,需要先对数据进行处理

例如“89.3%”是一个字符串,要转换为数字,要先去掉百分号:

# 将"89.3%"这样的文本转为浮点数
data.rate.apply(lambda x:x.replace('%','')).astype('float')/100

加载数据时可以指定数据各列的类型:

import pandas as pd

# 对所有字段指定统一类型
df = pd.DataFrame(data, dtype = 'float32')
# 对每个字段分别指定
df = pd.read_excel(data, dtype = {'team':'string','Q1':'int32'})

来源:https://blog.csdn.net/Hudas/article/details/122921649

0
投稿

猜你喜欢

  • 本文实例讲述了python中二维阵列的变换方法。分享给大家供大家参考。具体方法如下:先看如下代码:arr = [ [1, 2, 3], [4
  • 1 前言上篇文章Python爬虫获取基金列表我们已经讲述了如何从基金网站上获取基金的列表信息。这一骗我们延续上一篇,继续分享如何抓取基金的基
  • 问题背景:有一批需要处理的文件,对于每一个文件,都需要调用同一个函数进行处理,相当耗时。有没有加速的办法呢?当然有啦,比如说你将这些文件分成
  • 引言今天给大家推荐的是web应用安全防护方面的一个包:csrf。该包为Go web应用中常见的跨站请求伪造(CSRF)攻击提供预防功能。cs
  • 本文实例讲述了PHP缓存集成库phpFastCache用法。分享给大家供大家参考。具体分析如下:phpFastCache是一个开源的PHP缓
  • 最近因工作需要,要在静态页面上实现分页,想了下,决定用AJAX来实现,所以就捣鼓了下面这么个东西,截图如下:更多关于分页的文章演示地址:ht
  • 本文实例为大家分享了python编写实现抽奖器的具体代码,供大家参考,具体内容如下# coding=utf-8import sysimpor
  • 本文实例讲述了获取django框架orm query执行的sql语句实现方法。分享给大家供大家参考,具体如下:利用Django orM 可以
  • 前一段时间导师叫我写一个批处理的小程序,就是循环修改辐射传输模型软件MODTRAN的输入参数,然后运行MODTRAN软件进行计算,输出需要的
  • 楔子shutil 是一个 Python 内置模块,该模块对文件的复制、删除和压缩等操作都提供了非常方便的支持。下面来详细介绍一下该模块的用法
  • 一. 介绍一个计数器工具提供快速和方便的计数,Counter是一个dict的子类,用于计数可哈希对象。它是一个集合,元素像字典键(key)一
  • 最近Google官方的开发者博客中宣布新的版本Tensorflow(0.12)将增加对Windows的支持,想试着windows10下学习t
  • 我们知道,在js中,当object作为参数传递到函数中进行处理后,实际上是修改了传入的对象本身(或者说是对象的引用),但很多时候我们并不希望
  • 1.安装pyenv    https://github.com/pyenv/pyenv-instal
  • 本文实例讲述了python os模块简单应用。分享给大家供大家参考,具体如下:举例中的目录形式如下所示:In [36]: pwdOut[36
  • 在seclists中看到一个很惊人的thread:http://seclists.org/oss-sec/2012/q2/493MySQL爆
  • 1.请实现一个装饰器,把函数的返回值+100然后返回def wapper(func):def innner(*args,**kwargs):
  • 引言在做接口测试的时候,我们不仅需要将测试结果以报告的形式展示,还需要将测试结果以邮件的形式发送到需要知道的人手中。那么如何发送邮件呢?邮件
  • 前言在遇到三维数据时,三维图像能给我们对数据带来更加深入地理解。python的matplotlib库就包含了丰富的三维绘图工具。1.创建三维
  • 前言参考学习书籍:《算法图解》[美]Aditya Bhargava,袁国忠(译)北京人民邮电出版社,2017二分查找 binary_sear
手机版 网络编程 asp之家 www.aspxhome.com