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

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

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

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

-看上去一样的数字

在 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']) # 转换能转换的

89831

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

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

2.3K10

分隔百度百科的名人信息与非名人信息

_2=DataFrame(data_2) dataFrame_2['values']='0' 合并名人数据与非名人数据 dataFrame = dataFrame_1.append(dataFrame_...2D array, got 1D array instead TypeError: ‘<’ not supported between instances of ‘float’ and ‘str’ Label...: a bytes-like object is required, not ‘str’ 像错误提示说的那样需要的是字节类型而不是字符串类型,需要注意一下的是bytes-like翻译为字节。...3.RandomForestClassfier.fit(): ValueError: could not convert string to float 无法见字符串转换为浮点型,在机器学习过程遇到的一个问题...5.TypeError: ‘<’ not supported between instances of ‘float’ and ‘str’ 这是一个由于数据类型不对而引起的错误,看一下这个例子 我相信就一目了然了

1.2K20

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()函数将计算传递给它们的值的字符串、整数或浮点数形式。

96331

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.1K20

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

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

3.5K20

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

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

3.8K100

Pandas之read_csv()读取文件跳过报错行的解决

KeyError错误: 报这种错是由于使用了DataFrame没有的字段,例如id字段,原因可能是: .csv文件的header部分没加逗号分割,此时可使用df.columns.values来查看df...到底有哪些字段: print(df.columns.values) .在操作DataFrame的过程丢掉了id字段的header,却没发现该字段已丢失。...取列的值,与取列的区别: df=df[‘id’]#取id列的值,赋值后df为Series类型,可用print(type(df))来查看其类型 df=df[[‘id’]]#取df的id列作为一个新的...DataFrame,赋值后df仍然是一个DataFrame df=df[[‘id’,’age’]]#取df的id和age列作为一个新的DataFrame,赋值后df仍然是一个DataFrame 过滤行...=’null’]#过滤掉id字段取值为’null’的行 注意,此处的’null’是一个字符串,若df某行id字段的值不是字符串型,或者为空,将报TypeError:invalid type comparison

5.8K20

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

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

15310

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

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

8.6K50

数据科学 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 这里删除了第一行和最后一行,因为它们包含两个非空值

4K20

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() 如果每个字符串包含模式

16010

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

62520
领券