Python之pandas:在pandas中创建category类型数据的几种方法之详细攻略

简介: Python之pandas:在pandas中创建category类型数据的几种方法之详细攻略

在pandas中创建category类型数据的几种方法之详细攻略


T1、直接创建 category类型数据

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

T2、利用分箱机制(结合max、mean、min实现二分类)动态添加 category类型数据

输出结果


[NaN, 'medium', 'medium', 'fat']

Categories (2, object): ['medium', 'fat']

  name    ID  age  age02  ... weight    test01    test02  age02_mark

0   Bob     1  NaN     14  ...  140.5  1.000000  1.000000      Minors

1  LiSa     2   28     26  ...  120.8  2.123457  2.123457      Adults

2  Mary         38     24  ...  169.4  3.123457  3.123457      Adults

3  Alan  None           6  ...  155.6  4.123457  4.123457      Minors

[4 rows x 12 columns]




实习代码


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)

# T1、直接创建 category类型数据

weight_mark=pd.Categorical(['thin','medium','medium','fat'],categories=['medium','fat'])

print(weight_mark)

# T2、利用分箱机制(结合max、mean、min实现二分类)动态添加 category类型数据

col_age_des=pd.Series(data_frame['age02']).describe()

age_ranges=[col_age_des['min']-1,col_age_des['mean'],col_age_des['max']+1]

age_labels=['Minors','Adults']               # 高于平均值的为胖

data_frame['age02_mark']=pd.cut(data_frame['age02'],age_ranges,labels=age_labels)

print(data_frame)








相关文章
|
12天前
|
监控 物联网 数据处理
Pandas高级数据处理:数据流式计算
本文介绍了如何使用 Pandas 进行流式数据处理。流式计算能够实时处理不断流入的数据,适用于金融交易、物联网监控等场景。Pandas 虽然主要用于批处理,但通过分块读取文件、增量更新 DataFrame 和使用生成器等方式,也能实现简单的流式计算。文章还详细讨论了内存溢出、数据类型不一致、数据丢失或重复及性能瓶颈等常见问题的解决方案,并建议在处理大规模数据时使用专门的流式计算框架。
138 100
Pandas高级数据处理:数据流式计算
|
5天前
|
数据采集 数据可视化 数据处理
Pandas高级数据处理:数据仪表板制作
《Pandas高级数据处理:数据仪表板制作》涵盖数据清洗、聚合、时间序列处理等技巧,解决常见错误如KeyError和内存溢出。通过多源数据整合、动态数据透视及可视化准备,结合性能优化与最佳实践,助你构建响应快速、数据精准的商业级数据仪表板。适合希望提升数据分析能力的开发者。
59 31
|
1天前
|
消息中间件 数据挖掘 数据处理
Pandas高级数据处理:数据流式计算
在大数据时代,Pandas作为Python强大的数据分析库,在处理结构化数据方面表现出色。然而,面对海量数据时,如何实现高效的流式计算成为关键。本文探讨了Pandas在流式计算中的常见问题与挑战,如内存限制、性能瓶颈和数据一致性,并提供了详细的解决方案,包括使用`chunksize`分批读取、向量化操作及`dask`库等方法,帮助读者更好地应对大规模数据处理需求。
35 17
|
6天前
|
数据采集 并行计算 数据可视化
Pandas高级数据处理:数据报告生成实战指南
数据报告生成面临数据质量、计算性能、呈现形式和自动化等核心挑战。常见问题包括缺失值导致统计失真、内存溢出及可视化困难。解决方案涵盖数据清洗、分块处理、安全绘图模板等。通过模块化设计、异常处理机制和性能优化策略,如使用`category`类型、并行计算等,可大幅提升效率。最佳实践建议建立数据质量检查清单、版本控制和自动化测试框架,确保系统具备自适应能力,提升报告生成效率300%以上。
42 12
|
2天前
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
16 3
|
30天前
|
数据采集 供应链 数据可视化
Pandas数据应用:供应链优化
在当今全球化的商业环境中,供应链管理日益复杂。Pandas作为Python的强大数据分析库,能有效处理库存、物流和生产计划中的大量数据。本文介绍如何用Pandas优化供应链,涵盖数据导入、清洗、类型转换、分析与可视化,并探讨常见问题及解决方案,帮助读者在供应链项目中更加得心应手。
50 21
|
29天前
|
机器学习/深度学习 搜索推荐 数据挖掘
Pandas数据应用:广告效果评估
在数字化营销中,广告效果评估至关重要。Pandas作为Python的强大数据分析库,在处理广告数据时表现出色。本文介绍如何使用Pandas进行广告效果评估,涵盖数据读取、预览、缺失值处理、数据类型转换及常见报错解决方法,并通过代码案例详细解释。掌握这些技能,可为深入分析广告效果打下坚实基础。
43 17
|
8月前
|
Python
python 中*类型对象
【6月更文挑战第9天】
38 2
|
4月前
|
存储 缓存 算法
详解 PyTypeObject,Python 类型对象的载体
详解 PyTypeObject,Python 类型对象的载体
81 3
|
7月前
|
Python