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

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

分类数据的所有值都在categories或np.nan中。顺序由categories的顺序而不是值的词法顺序定义。...如果您有一个字符串类型的 Series,其中有很多重复的元素(即 Series 中的唯一元素数量远小于 Series 的长度),这可能会对性能产生影响。...如果您有一个类型为字符串的Series,其中许多元素重复(即Series中的唯一元素数量远小于Series的长度),这会对性能产生一些影响。...如果您有一个字符串类型的Series,其中有很多重复的元素(即Series中唯一元素的数量远小于Series的长度),这会对性能产生一些影响。...R 的levels始终为字符串类型,而 pandas 中的categories可以是任何 dtype。 不可能在创建时指定标签。

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

    数据科学 IPython 笔记本 7.4 Pandas 对象介绍

    在最基本的层面上,Pandas 对象可以认为是 NumPy 结构化数组的增强版本,其中行和列用标签而不是简单的整数索引来标识。...与前一节中讨论的Series对象一样,DataFrame可以被认为是 NumPy 数组的扩展,也可以被认为是 Python 字典的特化。我们现在来看看这些观点。...正如你可能将二维数组视为对齐的一维列的有序序列一样,你可以将DataFrame视为对齐的Series对象的序列。在这里,“对齐”是指它们共享相同的索引。...对于DataFrame,data ['col0']将返回第一列。因此,最好将DataFrame视为扩展的字典而不是扩展的数组,尽管两种看待这个情况的方式都是实用的。...我们将在“数据索引和选择”中,探索更灵活的索引DataFrame的方法。 构造DataFrame对象 Pandas DataFrame可以通过多种方式构建。这里我们举几个例子。

    2.3K10

    -看上去一样的数字

    在 Python 中,2 是一个数字,“2”是一个字符。他们是不同的数据类型,但是,都可以进行数学计算。示例如下: ? 如果刚开始接触 Python 的人会有些疑惑,这是什么鬼,是不是例子处理意外。...注意,要是将一个字符串数字和一个数值数字相加,就会出现异常“TypeError: must be str, not int” ? “*” 和 “*” 操作很灵活,只要理解这些行为,似乎也不是个问题。...这样问题的产生主要是语言设计者所决定的,他们只是没有把字符串的拼接和数值相加使用了同样的操作符。 下面就造一些数据,在 DataFrame 中看起来都像是数值类型数字的数据。 ?...转换失败,to_numeric() 不能将字符串 “F”转换为数值类型,我们也没有在代码中控制,所以抛异常了。...lambda x: x * 10) # 查看数据类型 df.dtypes # 尝试转换,报错 df.loc['Data2'] = pd.to_numeric(df.loc['Data2']) # 只转换能转换的

    93131

    Python 自动化指南(繁琐工作自动化)第二版:一、PYTHON 基础知识

    表达式由值(如2)和运算符(如+)组成,它们总能将其计算下来(即归约)为单个值。这意味着您可以在 Python 代码中任何可以使用值的地方使用表达式。 在前面的示例中,2 + 2被向下计算为单个值4。...: can't multiply sequence by non-int of type 'float' Python 不理解这些表达式是有道理的:你不能将两个单词相乘,并且很难将任意字符串复制分数次。...TypeError: can only concatenate str (not "int") to str 这个错误不是由print()函数引起的,而是您试图传递给print()的表达式引起的。...>>> spam = input() 101 >>> spam '101' 存储在spam中的值不是整数101,而是字符串'101'。...len()函数接受一个字符串,并计算该字符串中字符数的整数倍。str()、int()和float()函数将计算传递给它们的值的字符串、整数或浮点数形式。

    1K31

    pandas 分类数据处理大全(附代码)

    df_size = 100_000 df1 = pd.DataFrame( { "float_1": np.random.rand(df_size), "species...在这种情况下,速度提高了大约14倍(因为内部优化会让.str.upper()仅对分类的唯一类别值调用一次,然后根据结果构造一个seires,而不是对结果中的每个值都去调用一次)。 怎么理解?...那么如果我用对category本身处理,意味着我只分别对cat和dog两种类别处理一次,一共两次就解决。如果对每个值处理,那就需要样本数量10000次的处理。...在合并中,为了保存分类类型,两个category类型必须是完全相同的。 这个与pandas中的其他数据类型略有不同,例如所有float64列都具有相同的数据类型,就没有什么区分。...category列的合并:合并时注意,要保留category类型,且每个dataframe的合并列中的分类类型必须完全匹配。

    1.2K20

    Pandas使用技巧:如何将运行内存占用降低90%!

    在这篇文章中,我们将了解 pandas 的内存使用,以及如何只需通过为列选择合适的数据类型就能将 dataframe 的内存占用减少近 90%。...pandas 中的许多类型都有多个子类型,这些子类型可以使用更少的字节来表示每个值。比如说 float 类型就包含 float16、float32 和 float64 子类型。...这两种类型都有一样的存储能力,但其中一个只保存 0 和正数。无符号整型让我们可以更有效地处理只有正数值的列。...在我们开始行动之前,先看看 pandas 中字符串的存储方式与数值类型的存储方式的比较。...category 类型在底层使用了整型值来表示一个列中的值,而不是使用原始值。pandas 使用一个单独的映射词典将这些整型值映射到原始值。只要当一个列包含有限的值的集合时,这种方法就很有用。

    3.7K20

    教程 | 简单实用的pandas技巧:如何将内存占用降低90%

    在这篇文章中,我们将了解 pandas 的内存使用,以及如何只需通过为列选择合适的数据类型就能将 dataframe 的内存占用减少近 90%。 ?...pandas 中的许多类型都有多个子类型,这些子类型可以使用更少的字节来表示每个值。比如说 float 类型就包含 float16、float32 和 float64 子类型。...这两种类型都有一样的存储能力,但其中一个只保存 0 和正数。无符号整型让我们可以更有效地处理只有正数值的列。...在我们开始行动之前,先看看 pandas 中字符串的存储方式与数值类型的存储方式的比较。...category 类型在底层使用了整型值来表示一个列中的值,而不是使用原始值。pandas 使用一个单独的映射词典将这些整型值映射到原始值。只要当一个列包含有限的值的集合时,这种方法就很有用。

    3.9K100

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

    它们在反斜杠方面具有与没有此前缀的字符串不同的语义。 原始字符串中的反斜杠将被解释为转义的反斜杠,例如,r'\' == '\\'。 用 NaN 替换 ‘.’...这种逻辑意味着只在逻辑上需要时传播缺失值。 例如,在逻辑“或”操作(|)中,如果操作数之一是True,我们已经知道结果将是True,无论另一个值是什么(因此无论缺失值是True还是False)。...它们在反斜杠方面具有不同的语义,与没有此前缀的字符串不同。原始字符串中的反斜杠将被解释为转义的反斜杠,例如,r'\' == '\\'。 用 NaN 替换‘.’...它们在反斜杠方面与没有此前缀的字符串有不同的语义。原始字符串中的反斜杠将被解释为转义的反斜杠,例如,r'\' == '\\'。 用正则表达式将‘.’替换为NaN。...原始字符串中的反斜杠将被解释为转义的反斜杠,例如,r'\' == '\\'。 用正则表达式将‘.’替换为NaN。

    30110

    【精心解读】用pandas处理大数据——节省90%内存消耗的小贴士

    pandas中的许多数据类型具有多个子类型,它们可以使用较少的字节去表示不同数据,比如,float型就有float16、float32和float64这些子类型。...这对我们原始dataframe的影响有限,这是由于它只包含很少的整型列。 同理,我们再对浮点型列进行相应处理: 我们可以看到所有的浮点型列都从float64转换为float32,内存用量减少50%。...你可以看到这些字符串的大小在pandas的series中与在Python的单独字符串中是一样的。...选用类别(categoricalas)类型优化object类型 Pandas在0.15版本中引入类别类型。category类型在底层使用整型数值来表示该列的值,而不是用原值。...为了介绍我们何处会用到这种类型去减少内存消耗,让我们来看看我们数据中每一个object类型列中的唯一值个数。 可以看到在我们包含了近172000场比赛的数据集中,很多列只包含了少数几个唯一值。

    8.7K50

    数据科学 IPython 笔记本 7.7 处理缺失数据

    缺失数据惯例中的权衡 许多方案已经开发出来,来指示表格或DataFrame中是否存在缺失数据。通常,它们围绕两种策略中的一种:使用在全局表示缺失值的掩码,或选择表示缺失条目的标记值。...你通常会得到错误: vals1.sum() ''' --------------------------------------------------------------------------- TypeError...转换为float64 np.nan boolean 转换为object None或np.nan 请记住,在 Pandas 中,字符串数据始终与object dtype一起存储。...[np.nan, 4, 6]]) df 0 1 2 0 1.0 NaN 2 1 2.0 3.0 5 2 NaN 4.0 6 我们不能从DataFrame中删除单个值;我们只能删除完整行或完整列...参数允许你为要保留的行/列指定最小数量的非空值: df.dropna(axis='rows', thresh=3) 0 1 2 3 1 2.0 3.0 5 NaN 这里删除了第一行和最后一行,因为它们只包含两个非空值

    4.1K20

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

    ,比如Series.str.decode()在StringArray上不可用,因为StringArray只保存字符串,而不是字节。...使用传递的分隔符连接 Series 中每个元素的字符串 get_dummies() 使用分隔符拆分字符串,返回包含虚拟变量的 DataFrame contains() 如果每个字符串包含模式/正则表达式...,比如Series.str.decode()在StringArray上不可用,因为StringArray只保存字符串,而不是字节。...,比如Series.str.decode()在StringArray上不可用,因为StringArray只保存字符串,而不是字节。...join() 使用传递的分隔符将 Series 中每个元素的字符串连接起来 get_dummies() 在分隔符上拆分字符串,返回虚拟变量的 DataFrame contains() 如果每个字符串包含模式

    23610

    python的基础知识

    变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message 2.不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词...5.变量的赋值 在python中,我们对变量进行赋值的时候,用的是一个等于符号(=),要注意不是两个(==)。...> ValueError: could not convert string to float: 'bruce' 字符串类型转换不了浮点类型与整型 b = 123 str (b) '123' 整型转换字符串...9.输入 ##python3.x input():接收任意数据类型 没有raw_input() ##python2.x #input():只支持正确的数值类型,若是字符串必须用引号引起来才能识别 #raw_input...:') age:16 age '16' age > 18 Traceback (most recent call last): File "", line 1, in TypeError

    64820

    Pandas知识点-统计运算函数

    使用DataFrame数据调用max()函数,返回结果为DataFrame中每一列的最大值,即使数据是字符串或object也可以返回最大值。...使用DataFrame数据调用min()函数,返回结果为DataFrame中每一列的最小值,即使数据是字符串或object也可以返回最小值。...使用idxmax()和idxmin()时,一般是用Series数据调用,用DataFrame数据调用可能会报TypeError。 三、均值和中位数 ? mean(): 返回数据的均值。...使用DataFrame数据调用mean()函数,返回结果为DataFrame中每一列的平均值,mean()与max()和min()不同的是,不能计算字符串或object的平均值,所以会自动将不能计算的列省略...使用DataFrame数据调用median()函数,返回结果为DataFrame中每一列的中位数,median()也不能计算字符串或object的中位数,会自动将不能计算的列省略。 ?

    2.1K20
    领券