• Pandas DataFrame.astype()使用实例


    astype()方法通常用于将Pandas对象转换为指定的dtype.astype()函数。它还可以将任何合适的现有列转换为分类类型。

    当我们想将特定的列数据类型转换为另一种数据类型时, 它就可以使用。我们还可以使用Python字典的输入来一次更改多个列类型。在字典中, 键标签对应于列名, 值标签对应于我们要在列中使用的新数据类型。

     

    句法

    DataFrame.astype(dtype, copy=True, errors='raise', **kwargs)

    参数

    dtype:它使用numpy.dtype或Python类型将整个pandas对象转换为相同类型。它还可以使用{col:dtype, ?}, 其中col表示列标签, 而dtype是numpy.dtype或Python类型, 用于将DataFrame的一个或多个列转换为特定于列的类型。

    复制:如果copy = True, 则返回一个副本。设置copy = False时要小心, 因为对值的更改可能会传播到其他Pandas对象。

    错误:对于提供的dtype, 它控制对无效数据的异常引发。

    • 引发:它允许引发异常。
    • ignore:忽略异常。错误返回原始对象。

    kwargs:这是一个关键字参数, 将传递给构造函数。

     

    强制转换:它返回与调用方相同的类型。

     

    例子

    import pandas as pd
    
    a = {'col1': [1, 2], 'col2': [3, 4]}
    info = pd.DataFrame(data=a)
    info.dtypes
    # We convert it into 'int64' type. info.astype('int64').dtypes info.astype({'col1': 'int64'}).dtypes
    x
    = pd.Series([1, 2], dtype='int64') x.astype('category')
    cat_dtype
    = pd.api.types.CategoricalDtype(categories=[2, 1], ordered=True) x.astype(cat_dtype)
    x1
    = pd.Series([1, 2]) x2 = x1.astype('int64', copy=False) x2[0] = 10 x1 # note that x1[0] has changed too

    输出

    0    12
    1     2
    dtype: int64

    pandas转数组
    我们可以使用numpy.array来创建一个矩阵,当然这个矩阵可以是 N 维的,创建的时候,需要传入一个数组,数组是多少维,创建的矩阵就是多少维. 创建矩阵的时候,也可以传入第二个参数(dtype), 指定数据类型.
    np.array(pandas)
    
    
    

    数组转pandas

    pandas.DataFrame(numpy)
    
    
    import numpy as np
    
    array = np.array([[1,2,3],
                      [4,5,6],
                      [7,8,9]], dtype=np.float64)
    # array([[1, 2, 3],
    #        [4, 5, 6],
    #        [7, 8, 9]])
    type(array)
    numpy.ndarray
    
    
    


  • 相关阅读:
    Pyhont 高阶函数
    Python 函数式编程
    Python 递归函数
    Python 函数的参数定义
    Lniux学习-AWK使用
    Windows10 下 VirtualBox6 中 Centos8 无法安装"增强功能"
    Linux学习-Shell-系统启动过程与执行方式
    接口测试-工具介绍
    Linux学习-Sed 命令
    Linux学习-命令行参数、函数
  • 原文地址:https://www.cnblogs.com/Summer-skr--blog/p/13786642.html
Copyright © 2020-2023  润新知