首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pandas 2.2 中文官方教程和指南(十七)

R 的 levels 始终是字符串类型,而 pandas 的 categories 可以是任何 dtype。 不可能在创建时指定标签。...多列排序 一个分类数据类型的列将以与其他列类似的方式参与多列排序。分类的排序由该列的categories确定。...多列排序 分类数据类型的列将以与其他列类似的方式参与多列排序。分类的排序由该列的categories确定。...唯一的区别是返回类型(用于获取)和只有已在categories中的值才能被赋值。 获取 如果切片操作返回DataFrame或类型为Series的列,则category dtype 将被保留。...R 的levels始终为字符串类型,而 pandas 中的categories可以是任何 dtype。 不可能在创建时指定标签。

46810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python的可散列对象

    可散列类型 在Python内置的对象类型中,并非都是可散列的,只有那些不可变对象,比如整数、浮点数、字符串、元组等,才是可散列的。...如果要将hash()用于不可散列的对象,结果会出现TypeError异常,例如: >>> hash(["R","e","a","l","P","y","t","h","o","n"]) Traceback...>>> x == y False 这符合Python的习惯,毕竟x和y是两个实例,在通常情况下,都是给类提供不同的参数,只不过这里演示得太简单了。...前面提到,Python中的对象分为可散列和不可散列两种类型,而这里检测之后,所有内置对象类型都具有__hash__方法,是不是意味着都能用于hash()函数呢?前面说过可变对象是不可散列类型。...__hash__) 以列表(可变对象,不可散列)和字符串(不可变对象,可散列)为例,发现它们的__hash__返回值不同

    5K20

    Python 弱引用 weakref

    循环引用问题 一组相互引用的对象若没有被其它对象直接引用,并且不可访问,则会永久存活下来。一个应用程序如果持续地产生这种不可访问的对象群组,就会发生内存泄漏。...如果对象是可散列的,则弱引用是可散列的。即使在对象被删除后,它们仍将保持其哈希值。如果仅在对象被删除后才第一次调用 hash(),则该调用将引发 TypeError。...; to 'numpy.ndarray' at 0x0000028E3D3809E0> # 类型为 弱引用 print(type(ref)) # <class 'weakref...方便之处就是,在大多数情况下可以直接将代理对象当做引用对象使用 坏处就是内存空间不一致,数据类型不一致,不可哈希 赋值后会变成强引用,因此不可赋值 示例代码: import sys...; to 'numpy.ndarray' at 0x000001CC70051940>, x000001CC70EDB630 to numpy.ndarray at 0x000001CC70051940

    1.1K10

    Pandas DataFrame的基本属性详解

    =False) 创建一个DataFrame 代码 功能 DataFrame() 创建一个DataFrame对象 df.values 返回ndarray类型的对象 df.iloc[ 行序,列序 ] 按序值返回元素...对象的信息 df.head(i) 显示前 i 行数据 df.tail(i) 显示后 i 行数据 df.describe() 查看数据按列的统计信息 创建一个DataFrame DataFrame()函数的参数...运行结果: df.values 返回ndarray类型的对象 ndarray类型即numpy的 N 维数组对象,通常将DataFrame类型的数据转换为ndarray类型的比较方便操作。...如对DataFrame类型进行切片操作需要df.iloc[ : , 1:3]这种形式,对数组类型直接X[ : , 1:3]即可。...X = df.values print(type(X)) #显示数据类型 X 运行结果: numpy.ndarray'> [['小明' '男' 20 nan] ['小红' '女' 21

    1.3K20

    特征工程之类别特征

    但是,与其他数值变量不一样的是,类别特征的数值变量无法与其他数值变量进行比较大小。(作为行业类型,石油与旅行无法进行比较)它们被称之为非序的。...统一的散列函数可确保大致相同数量的数字被映射到每个 箱。在视觉上,我们可以将散列函数视为一台机器可以吸入编号的球并将它们传送到一个m箱。球与相同的号码将始终被路由到同一个bin。...特征散列将原始特征向量压缩为m维通过对特征ID应用散列函数来创建矢量。例如,如果原件特征是文档中的单词,那么散列版本将具有固定的词汇大小为m,无论输入中有多少独特词汇。...这确保了内部产品之间散列特征与原始特征的期望值相同。...在有针对性的广告案例中,McMahan et al. [2013年]报告不能将预测误差降低到可接受的水平,除非m的数量级为数十亿。散列特征的一个缺点是散列特征是聚合的原始特征,不再可解释。

    90110

    Pandas图鉴(二):Series 和 Index

    Pandas 给 NumPy 数组带来的两个关键特性是: 异质类型 —— 每一列都允许有自己的类型 索引 —— 提高指定列的查询速度 事实证明,这些功能足以使Pandas成为Excel和数据库的强大竞争者...在内部,Series将数值存储在一个普通的NumPy向量中。因此,它继承了它的优点(紧凑的内存布局,快速的随机访问)和缺点(类型同质性,缓慢的删除和插入)。...在Pandas中,它被称为MultiIndex(第4部分),索引内的每一列都被称为level。 索引的另一个重要特性是它是不可改变的。与DataFrame中的普通列相比,你不能就地修改它。...但正是由于不可更改性,不允许只写df.City.name = 'city',所以必须借助于df.rename(columns={'City': 'city'})。..., df.values, equal_nan=True) TypeError >>> len(df.compare(df)) == 0 True 添加、插入、删除 尽管系列对象应该是大小不可变的

    33820

    开源图书《Python完全自学教程》第5章

    在有的资料中,还提出了“基础对象类型”的类别,包括整数类型、浮点数类型、字符串类型和布尔类型。所以,根据对象的不同特点,可以有不同的聚类结果。...“键”必须是不可变对象——如果书的目录名称会变化,那就不仅仅是眼花缭乱,而是手忙脚乱了。 “值”可以是 Python 中任何类型对象。 “值”可以重复。...: unhashable type: 'list' 出现了 TypeError 异常,特别注意看提示信息,告诉我们出问题的根源在于列表是 unhashable 类型。...简要说明: hash:翻译为“散列”或“哈希”,“hashable”意即“可散列”、“可哈希”。截止目前,已经学习过的 Python 内置对象中,数字、字符串、元组都是可散列的,也是不可变对象。...unhasable:翻译为“不可散列”、“不可哈希”,此前学过的列表和现在学习的字典,都是此类型的对象,同时为可变对象。 所以,字典也不能作为键值对的键。

    66020

    剖析源码讲解Numpy模块中的tile函数

    但不可以是float, string, matrix(多维度的ndarray数组)类型。 tile函数的功能是重复某个数组。...▲result 可以看出前面介绍的不可以作为参数reps类型在这里可以安全的执行通过,所以这个地方并不是限制参数reps类型的根源所在。 ? ▲reps可以为的参数类型 ?...▲reps不可以为的参数类型 其实使用tuple函数转换成元组失败是因为tuple函数它需要的是一个可迭代的参数类型,如果不是的话就会抛出Typeerror的异常,抛出异常在源码中就会把值直接放入元组的第一个位置...''' numpy.ndarray'> ''' 这里的all(x == 1 for x in tup)就是为什么参数reps不能使用matrix类型的根源所在。...因为c.ndim也就是c的维度与d也就是元组中的元素个数不匹配,或者说是要进行重复的A的维度和reps重复次数不匹配,这样可想而知是不可以的,所以加入了一个进行处理的代码。

    1.4K10

    Python 金融编程第二版(二)

    在这方面最重要的数据结构之一是数组。数组通常以行和列的形式结构化其他(基本)相同数据类型的对象。 暂时假设我们仅使用数字,尽管这个概念也可以推广到其他类型的数据。...② 主要方法的工作方式类似于list对象的方法。 ③ 虽然“标量乘法”原理上可行,但结果不是数学上预期的;而是元素被重复。 尝试附加与指定数据类型不同的对象会引发TypeError。...ndarray对象是不可变的,其形状是固定的。 它仅允许单一数据类型(numpy.dtype)用于整个数组。 相反,array类只共享允许唯一数据类型(类型代码,dtype)的特性。...我们有列名和列数据类型,可能还有一些附加信息(例如,每个string对象的最大字符数)。...总之,结构化数组是常规numpy.ndarray对象类型的泛化,因为数据类型只需在每列上保持相同,就像在SQL数据库表格上的上下文中一样。

    20310

    从不同的DataFrame追加列6. 高亮每列的最大值7. 用链式方法重现

    ,修改索引对象的一个值,会导致类型错误,因为索引对象是不可变类型 In[10]: columns[1] = 'city' ---------------------------------------...# 再从baseball_15中选取一些列,有相同的、也有不同的 In[45]: df_15 = baseball_15[['AB', 'R', 'H', 'HR']] df_15....# 即便使用了fill_value=0,有些值也会是缺失值,这是因为一些行和列的组合根本不存在输入的数据中 In[47]: df_14.add(df_15, fill_value=0).head(10...,用eq方法比较DataFrame的每个值和该列的最大值 In[78]: college_n.eq(college_n.max()).head() Out[78]: ?...# 一些列只有一个最大值,比如SATVRMID和SATMTMID,UGDS_WHITE列却有许多最大值。有109所学校的学生100%是白人。

    3K10
    领券