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

pandas 变量类型转换的 6 种方法

pandas中有种非常便利的方法to_numeric()可以将其它数据类型转换为数值类型。...:转换时遇到错误的设置,ignore, raise, coerce,下面例子中具体讲解 downcast:转换类型降级设置,比如整型的有无符号signed/unsigned,和浮点float 下面例子中...(s) # 默认float64类型 pd.to_numeric(s, downcast='signed') # 转换为整型 4、转换字符类型 数字转字符类型非常简单,可以简单的使用str直接转换。...如果convert_integer也为True,则如果可以将浮点数忠实地转换为整数,则将优先考虑整数dtype 下面看一组示例。 通过结果可以看到,变量都是是创建时默认的类型。...但其实变量是有整数、字符串、布尔的,其中有的还存在空值。

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

    pandas 处理大数据——如何节省超90%内存

    使用 pandas 处理小数据集不会遇到性能问题,但是当处理大数据集时(GB级)会遇到性能问题,甚至会因为内存不足而无法处理。...77.0 float64 77.0 NaN 浮点类型从 float64转换位 float32,节省了50%左右的内存使用。...“对象”优化 v0.15开始,pandas 引入了 Categoricals。在低层,category 类型使用整型表示列中的值,而不是原始值。pandas 使用单独的字典来映射原始值和这些整数。...当每一列包含有限的数据时,这非常有用。当pandas转换一列为 category 类型时,pandas 会使用最节省空间的 int 子类型表示每一列的唯一值。 ?...转换为 category 类型之后,无法对其进行计算,也无法使用 Series.max 和 Sseries.min 等方法。 当唯一值数量少于50%时,应该使用 category 类。

    6.3K30

    资源 | 23种Pandas核心操作,你需要过一遍吗?

    选自 Medium 作者:George Seif 机器之心编译 参与:思源 本文转自机器之心,转载需授权 Pandas 是一个 Python 软件库,它提供了大量能使我们快速便捷地处理数据的函数和方法...它基于 Cython,因此读取与处理数据非常快,并且还能轻松处理浮点数据中的缺失数据(表示为 NaN)以及非浮点数据。...(7)列出所有列的名字 df.columns 基本数据处理 (8)删除缺失数据 df.dropna(axis=0, how='any') 返回一个 DataFrame,其中删除了包含任何 NaN 值的给定轴...(12)将目标类型转换为浮点型 pd.to_numeric(df["feature_name"], errors='coerce') 将目标类型转化为数值从而进一步执行计算,在这个案例中为字符串。...以下代码将过滤名为「size」的行,并仅显示值等于 5 的行: df[df["size"] == 5] (23)选定特定的值 以下代码将选定「size」列、第一行的值: df.loc([0], ['size

    2.9K20

    python学习笔记第三天:python之numpy篇!

    三、创建数组 数组的创建可通过转换列表实现,高维数组可通过转换嵌套列表实现: 一些特殊的数组有特别定制的命令生成,如4*5的全零矩阵: 默认生成的类型是浮点型,可以通过指定类型改为整型: [0, 1)...,在处理中Python会自动将整数转换为浮点数(因为数组是同质的),并且,两个二维数组相加要求各维度大小相同。...下面这个例子是将第一列大于5的元素(10和15)对应的第三列元素(12和17)取出来: 可使用where函数查找特定值在数组中的位置: 六、数组操作 还是拿矩阵(或二维数组)作为例子,首先来看矩阵转置:...七、缺失值 缺失值在分析中也是信息的一种,NumPy提供nan作为缺失值的记录,通过isnan判定。...nan_to_num可用来将nan替换成0,在后面会介绍到的更高级的模块pandas时,我们将看到pandas提供能指定nan替换值的函数。

    2.7K50

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

    对于包含数值型数据(比如整型和浮点型)的数据块,pandas会合并这些列,并把它们存储为一个Numpy数组(ndarray)。Numpy数组是在C数组的基础上创建的,其值在内存中是连续存储的。...这对我们原始dataframe的影响有限,这是由于它只包含很少的整型列。 同理,我们再对浮点型列进行相应处理: 我们可以看到所有的浮点型列都从float64转换为float32,内存用量减少50%。...Pandas用一个字典来构建这些整型数据到原数据的映射关系。当一列只包含有限种值时,这种设计是很不错的。...当我们把一列转换成category类型时,pandas会用一种最省空间的int子类型去表示这一列中所有的唯一值。...总结 我们学习了pandas如何存储不同的数据类型,并利用学到的知识将我们的pandas dataframe的内存用量降低了近90%,仅仅只用了一点简单的技巧: 将数值型列降级到更高效的类型 将字符串列转换为类别类型

    8.7K50

    金融量化 - numpy 教程

    numpy.version.full_version 数组 NumPy中的基本对象是同类型的多维数组(homogeneous multidimensional array),这和C++中的数组是一致的,例如字符型和数值型就不可共存于同一个数组中..., [5,6,7,8,9]] b = numpy.array(raw) 一些特殊的数组有特别定制的命令生成,如4*5的全零矩阵: d = (4, 5) numpy.zeros(d) 默认生成的类型是浮点型...,首先来看矩阵转置: 矩阵求逆: 求特征值和特征向量 按列拼接两个向量成一个矩阵: 在循环处理某些数据得到结果后,将结果拼接成一个矩阵是十分有用的,可以通过vstack和hstack完成: 缺失值...缺失值在分析中也是信息的一种,NumPy提供nan作为缺失值的记录,通过isnan判定。...nan_to_num可用来将nan替换成0,在后面会介绍到的更高级的模块pandas时,我们将看到pandas提供能指定nan替换值的函数。

    1.2K40

    解决ValueError: cannot convert float NaN to integer

    当出现​​ValueError: cannot convert float NaN to integer​​错误时,通常是因为我们尝试将一个包含NaN的浮点数转换为整数类型,这是不允许的。...转换为浮点数如果我们确认了数据中并不包含NaN值,那么可以考虑将浮点数转换为整数。我们可以使用​​math​​模块或者​​numpy​​库中的相应函数来完成转换。...首先,我们需要检查数据中是否存在NaN值,并根据实际情况进行处理。如果数据中并不包含NaN值,我们可以使用相应的转换方法将浮点数转换为整数。希望这篇文章能帮助你解决类似的问题。...当处理数据集时,有时候会遇到包含NaN值的情况。假设我们有一个包含学生成绩的数据集,其中某些学生的成绩可能缺失,用NaN表示。现在我们需要计算每个学生的平均成绩,并将平均成绩转换为整数类型。...接着,使用​​fillna​​函数将NaN值替换为0,再使用​​astype​​方法将浮点数转换为整数类型。最后,打印输出了处理后的数据集。

    2.2K00

    【Kotlin】数字类型 ( 安全转换函数 | 浮点型转整型 )

    文章目录 一、安全转换函数 二、浮点型转整型 一、安全转换函数 ---- 在 Kotlin 中 , 将 字符串 String 类型 转为 数字类型 , 如果 字符串 代表的数字类型 与 要换转的 数字类型...= "0.5".toIntOrNull() println(numbber) } 二、浮点型转整型 ---- toInt 强制转换函数 , 强行将 小数点 后面的小数抹掉 ; 函数原型如下 :.../** * 将[Double]值转换为[Int]。...*/ public override fun toInt(): Int roundToInt 四舍五入函数 , 函数原型如下 : /** * 将[Double]值舍入为最接近的整数,并将结果转换为[Int...MIN_VALUE” * * 当此值为NaN时,@抛出IllegalArgumentException */ @SinceKotlin("1.2") public actual fun Double.roundToInt

    3.1K30

    Stata与Python等效操作与调用

    处理过程中,针对数值型和字符型不同的数据类型,有不同的处理方法。 数值型变量主要是简单的计算,生成新的变量。如生成最大值、最小值、均值,或者是求和、平方和取对数等。...当认识到列不必是字符串时会更好理解。列名可以是整数,例如年份或 FIPS 代码。在这些情况下,给列起一个名字很有意义,这样就知道要处理的内容。...另一个重要的区别是 np.nan 是浮点数据类型,因此 DataFrame 的任何列包含缺失数字的将是浮点型的。如果一列整型数据改变了,即使只有一行 np.nan ,整列将被转换为浮点型。...1.13.2 浮点数 在 Stata 中,小数和任何值都不相等,比如 3.0==3 是 False 。而在 Python 会返回 True 。 2....嵌入代码其实和窗口交互的本质是相同的:当遇见 python 或 python: 时,会进入 python 交互环境,进而逐行执行 Python 代码,直到遇见 end 才跳出 Python 环境返回到

    10K51

    收藏|Pandas缺失值处理看这一篇就够了!

    当用多值插补时,对A组将不进行处理,对B、C组将完整的样本随机抽取形成为组(为可选择的组插补值),每组个案数只要能够有效估计参数就可以了。...df.equals(df) True 其次,它在numpy中的类型为浮点,由此导致数据集读入时,即使原来是整数的列,只要有缺失值就会变为浮点型。...pd.Series([1,np.nan,3],dtype='bool') ? 但当修改一个布尔列表时,会改变列表类型,而不是赋值为True。...因此整型列转为浮点;而字符由于无法转化为浮点,因此只能归并为object类型('O'),原来是浮点型的则类型不变 df['ID'].dtype dtype('float64') df['Math'].dtype...练习 【练习一】现有一份虚拟数据集,列类型分别为string/浮点/整型,请解决如下问题。

    3.8K41

    【文件读取】文件太大怎么办?

    data = reader.get_chunk(size) 修改列的类型 改变每一列的类型,从而减少存储量 对于label或者类型不多的列(如性别,0,1,2),默认是int64的,可以将列的类型转换为...int8 对于浮点数,默认是float64,可以转换为float32 对于类别型的列,比如商品ID,可以将其编码为category import pandas as pd reader = pd.read_csv...(filename, iterator=True) data = reader.get_chunk(size) # downcast用于修改类型, # errors为当无法转换或遇到错误是采用什么操作,...GB print(data.memory_usage().sum()/(1024**3)) # 将float64转变为float32 for i in range(6, 246): data[str...str(i)], downcast='float', errors='coerce') # 计算转变后的大小GB print(data.memory_usage().sum()/(1024**3)) # 将类别型变量转变为

    2.7K10

    Pandas清洗数据的4个实用小技巧

    pandas 是做数据分析时的必备库。在数据分析之前,我们往往需要对数据的大小、内容、格式做一定处理,去掉无效值和缺失值,保持结构统一,使其便于之后的分析。这一过程被称作“数据清洗”。...今天我们就来分享几个Pandas在做数据清洗时的小技巧,内容不长,但很实用。 1....2. replace 做清洗 清洗数据时,少不了要对数据内容进行查找替换。 这里有一个快速清洗数据的小技巧,在某列上使用 replace 方法和正则,快速完成值的清洗。...,有整型,浮点型+RMB后变为字符串型,还有美元+整型,美元+浮点型。...我们的目标:清洗掉 RMB,$ 符号,转化这一列为浮点型。

    1.3K10

    Pandas数据类型转换:astype与to_numeric

    astype来实现: df = df.astype({'A': int, 'B': float})(二)常见问题及解决办法无效字面量当尝试将非数字字符串转换为数值类型时,可能会遇到“invalid...这是因为某些值无法被解释为预期的数字格式。为了避免这种情况,可以在转换前清理数据,或者使用errors='ignore'参数跳过无法转换的值。精度丢失在从浮点数转换为整数时,可能会导致精度丢失。...如果希望保留小数部分,应该选择适当的浮点类型而不是整数类型。三、to_numeric方法to_numeric 主要用于将字符串或其他非数值类型的序列转换为数值类型。...(一)优势自动识别缺失值to_numeric 可以自动将无法解析为数字的值替换为NaN,这使得它非常适合处理含有脏数据的数据集。优化内存占用使用downcast参数可以帮助减少不必要的内存消耗。...例如,当数据实际上只包含较小范围内的整数时,可以将其转换为更节省空间的整数类型。

    24810
    领券