Python之pandas:数据类型变换之object、category、bool、int32、int64、float64以及数据类型标准化之详细攻略

简介: Python之pandas:数据类型变换之object、category、bool、int32、int64、float64以及数据类型标准化之详细攻略

知识点


在pandas中,如果某个字段下,数据类型不一致导致整个字段类型不相同,可以进行字段类型转换!,在pandas中,进行数据类型转换非常简单,只需要使用astype函数即可!



1、category类型与object类型


 object类型(python中) category类型(pandas中特有)

简介

     python是面向对象的语言。在python里面,一切皆为对象。

在python中,

object类型,一般表示文本类型数据。

有些难以被自动判别的数据类型,或者由不止一种数据类型组成;由于Python一切皆对象,因此都会被处理为最宽泛的"对象"也就是object类型数据。

其实,在数据分析中,有时候会遇到某个字段的数据类型与初始设置的不相符,此时,就要去分析是否是数据不规整造成的。

category是 pandas 的一种数据类型,对应着被统计的变量。它实际上是动态枚举的一种形式。如果某个字段的内容中,其可能值的范围是固定且有限的,则category类型数据最为适用;

category是由固定的且有限数量的变量组成的。比如:性别、血型、等级等;

category类型数据的每一个元素的值,要么是预设好的类型中的某一个,要么是空值(np.nan);

在比较大的数据集中,可以通过使用category类型数据来加快速度!

属性 具有object类型数据的基本属性。

.describe()

.cat.categories  

.cat.rename_categories  

.value_counts()

.str 属性  

pd.concat

union_categoricals   

内存使用量

转换 df["col"].astype(‘category‘)





输出结果

image.png







实现代码


import pandas as pd

import numpy as np

contents={"name": ['Bob',        'LiSa',                     'Mary',                       'Alan'],

         "ID":   [1,              2,                         ' ',                          None],    # 输出 NaN

         "age":  [np.nan,        28,                           38 ,                          '' ],   # 输出

         "age02":  [14,           26,                           24 ,                          6],

       "born": [pd.NaT,     pd.Timestamp("1990-01-01"),  pd.Timestamp("1980-01-01"),        ''],     # 输出 NaT

         "sex":  ['男',          '女',                        '女',                        None,],   # 输出 None

         "hobbey":['打篮球',     '打羽毛球',                   '打乒乓球',                    '',],   # 输出

         "money":[200.0,                240.0,                   290.0,                     300.0],  # 输出

         "weight":[140.5,                120.8,                 169.4,                      155.6],  # 输出

         "test01":[1,    2.123456789,        3.123456781011126,   4.123456789109999],    # 输出

         "test02":[1,    2.123456789,        3.123456781011126,   4.123456789109999],    # 输出

         }

data_frame = pd.DataFrame(contents)

print('Init-------------------------------')

print(data_frame.dtypes)

print(data_frame)

# 将dataframe格式中的数据类型转为object数据类型

data_frame['test02'] = data_frame['test02'].astype('object')   # 关键字bool,'object'、'category'、str

data_frame['test02'] = data_frame['test02'].apply(str)

data_frame.to_excel("data_demo.xls")

print('after astype-------------------------------')

print(data_frame.dtypes)

print(data_frame)

data_frame_temp=data_frame.copy()

# ML之FE:将dataframe中的数据类型进行标准化

print('after Categorical-------------------------------')

data_frame=cols2DfCatAndNum(data_frame)

print(data_frame.dtypes)







相关文章
|
23天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
24天前
|
Python
Python 中一些常见的数据类型
Python 中一些常见的数据类型
77 8
|
21天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
29天前
|
Python
Python中不同数据类型之间如何进行转换?
Python中不同数据类型之间如何进行转换?
27 6
|
29天前
|
存储 开发者 Python
Python 的数据类型
Python 的数据类型
38 6
|
1月前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
53 3
|
2月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
1月前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
31 1
|
2月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
110 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
2月前
|
计算机视觉 Python
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
这篇文章介绍了如何使用Python的OpenCV库将多张图片合并为一张图片显示,以及如何使用matplotlib库从不同txt文档中读取数据并绘制多条折线图。
50 3
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图