目錄
1 Numpy 介紹與應用程式
1-1Numpy是什麼
4 Numpy 数组属性
Pandas学习
1 pandas新增数据列
2 Pandas数据统计函数
3 Pandas对缺失值的处理
首頁 後端開發 Python教學 如何運用Numpy和Pandas的Python函式庫?

如何運用Numpy和Pandas的Python函式庫?

May 09, 2023 pm 04:28 PM
python numpy pandas

    1 Numpy 介紹與應用程式

    1-1Numpy是什麼

    NumPy 是一個運行速度非常快的數學庫,一個開源的的python科學計算庫,主要用於數組、矩陣計算,包含:

    一個強大的N維數組物件ndarray廣播函數整合C/C /Fortran 程式碼的工具線性代數、傅立葉變換、隨機數產生等功能1-2 為什麼選擇Numpy

    #對於同樣的數值計算任務,使用Numpy比直接寫原生python程式碼的優點有:

    程式碼更簡潔:

    Numpy直接以陣列、矩陣為粒度計算並且支撐大量的數學函數,而Python需要用for迴圈從底層實作

     效能更有效率:

    Numpy的陣列儲存效率和輸入輸出運算效能,比Python使用List或巢狀List好很多

    ##注意: Numpy的資料儲存和Python原生的List是不一樣的
    加上Numpy的大部分程式碼都是C語言實現的,這是Numpy比純Python程式碼高效的原因

    相關學習、程式碼如下:須事先安裝好Numpy、pandas和matplotlib

    Numpy終端機安裝指令:pip install numpy
    Pandas終端機安裝指令:pip install pandas
    Matplotlib終端安裝過指令:pip install matplotlib

    如何運用Numpy和Pandas的Python函式庫?

    # @Software : PyCharm
    # Numpy是Python各种数据科学类库的基础库
    # 比如:Pandas,Scipy,Scikit_Learn等
    # Numpy应用:
    '''
    NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。
    SciPy 是一个开源的 Python 算法库和数学工具包。
    SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
    Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。
    
    '''
    # 安装 NumPy 最简单的方法就是使用 pip 工具:
    # pip3 install --user numpy scipy matplotlib
    # --user 选项可以设置只安装在当前的用户下,而不是写入到系统目录。
    # 默认情况使用国外线路,国外太慢,我们使用清华的镜像就可以:
    # pip install numpy scipy matplotlib -i.csv https://pypi.tuna.tsinghua.edu.cn/simple
    # 这种pip安装是一种最简单、最轻量级的方法,当然,这里的前提是有Python包管理器
    # 如若不行,可以安装Anaconda【目前应用较广泛】,这是一个开源的Python发行版
    # 安装Anaconda地址:https://www.anaconda.com/
    # 安装验证
    # 测试是否安装成功
    from numpy import *     # 导入 numpy 库
    print(eye(4))           # 生成对角矩阵
    # 查看版本:
    import numpy as np
    print(np.__version__)
    # 实现2个数组的加法:
    # 1-原生Python实现
    def Py_sum(n):
        a = [i**2 for i in range(n)]
        b = [i**3 for i in range(n)]
        # 创建一个空列表,便于后续存储
        ab_sum = []
        for i in range(n):
            # 将a、b中对应的元素相加
            ab_sum.append(a[i]+b[i])
        return ab_sum
    # 调用实现函数
    print(Py_sum(10))
    # 2-Numpy实现:
    def np_sum(n):
        c = np.arange(n) ** 2
        d = np.arange(n) ** 3
        return c+d
    print(np_sum(10))
    # 易看出使用Numpy代码简洁且运行效率快
    # 测试1000,10W,以及100W的运行时间
    # 做绘图对比:
    import pandas as pd
    # 输入数据
    py_times = [1.72*1000, 202*1000, 1.92*1000]
    np_times = [18.8, 14.9*1000, 17.8*10000]
    
    # 创建Pandas的DataFrame类型数据
    ch_lxw = pd.DataFrame({
        'py_times': py_times,
        'np_times': np_times    # 可加逗号
    })
    print(ch_lxw)
    登入後複製
    import matplotlib.pyplot as plt
    # 线性图
    print(ch_lxw.plot())
    # 柱状图
    print(ch_lxw.plot.bar())
    # 简易箱线图
    print(ch_lxw.boxplot)
    
    plt.show()
    登入後複製

    線性圖運作效果如下:

    如何運用Numpy和Pandas的Python函式庫?

    #長條圖運作效果如下:

    如何運用Numpy和Pandas的Python函式庫?

    2 NumPy Ndarray 物件

    NumPy 最重要的一個特點是其N 維數組物件ndarray,它是一系列同類型資料的集合,以0 下標為開始進行集合中元素的索引。

    ndarray 物件是用來存放同類型元素的多維數組,其中的每個元素在記憶體中都有相同儲存大小的區域。 ndarray 物件採用了數組的索引機制,將數組中的每個元素映射到記憶體區塊上,並且按照一定的佈局對記憶體區塊進行排序(行或列)

    ndarray 內部由以下內容組成:

    • 一個指向資料(記憶體或記憶體映射檔案中的一塊資料)的指標;

    • 資料型態或dtype,描述在陣列中的固定大小值的格子;

    • 一個表示陣列形狀(shape)的元組,表示各維度大小的元組;

    • 一個跨度元組(stride),其中的整數指的是為了前進到當前維度下一個元素需要"跨過"的位元組數。

    相關學習、程式碼如下:

    '''
    创建一个 ndarray 只需调用 NumPy 的 array 函数即可:
    numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
    参数说明:
    
    名称	描述
    object	表示数组或嵌套的数列
    dtype	表示数组元素的数据类型,可选
    copy	表示对象是否需要复制,可选
    order	创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
    subok	默认返回一个与基类类型一致的数组
    ndmin	指定生成数组的最小维度
    '''
    # ndarray 对象由计算机内存的连续一维部分组成,并结合索引模式,将每个元素映射到内存块中的一个位置。
    # 内存块以行顺序(C样式)或列顺序(FORTRAN或MatLab风格,即前述的F样式)来保存元素
    
    # 学好Numpy,便于后期对Pandas的数据处理
    # 1:一维
    import numpy as np
    lxw = np.array([5, 2, 0])
    print(lxw)
    print()
    # 2: 多于一个维度
    import numpy as np
    lxw2 = np.array([[1, 5, 9], [5, 2, 0]])
    print(lxw2)
    print()
    # 3: 最小维度
    import numpy as np
    lxw3 = np.array([5, 2, 0, 1, 3, 1, 4], ndmin=2)     # ndmin: 指定生成数组的最小维度
    print(lxw3)
    print()
    # 4: dtype参数
    import numpy as np
    lxw4 = np.array([3, 3, 4, 4], dtype=complex)        # dtype: 数组元素的数据类型[complex 复数】
    print(lxw4)
    登入後複製

    3 Numpy 資料型別

    numpy 支援的資料類型比Python 內建的型別多很多,基本上可以和C 語言的資料型別對應上,其中部分型別對應到Python 內建的型別.

    常用NumPy 基本型別:

    名稱  描述bool_ :【布林型資料型態(True 或False)】
    int_ : 【預設的整數型別(類似C語言中的long,int32 或int64)】
    intc :【與C 的int 類型一樣,一般是int32 或int 64】
    intp :【用於索引的整數型別(類似C 的ssize_t,一般情況下仍然是int32 或int64)】
    int8 :【位元組(-128 to 127)】
    int16 :【整數(-32768 to 32767)】
    int32 :【整數(-2147483648 至 21474836474748 )】
    int64 :【整數(-9223372036854775808 to 9223372036854775807)】
    uint8 :【無符號整數(0 to 255)】
    intint16: [#int35353535353)>#pint35-#pint353]#pint3753)。 :【無符號整數(0 to 4294967295)】
    uint64 :【無符號整數(0 to 18446744073709551615)】
    float_ float64 :【類型的簡寫】
    float16:【半精確度類型:164點: 1 個符號位,5 個指數位,10 個尾數位】
    float32 :【單精確度浮點數,包括:1 個符號位,8 個指數位,23 個尾數位】
    float64 :【雙精確度浮點數,包括:1 個符號位,11 個指數位,52 個尾數位】
    complex_ complex128: 【類型的簡寫,即128 位複數】
    complex64 :【複數,表示雙32 位浮點數(實數部分與虛數部分)】
    complex128 :【複數,表示雙64 位元浮點數(實數部分與虛數部分)】

    相關學習、程式碼如下:

    '''
    # numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括 np.bool_,np.int32,np.float32,等等。
    '''
    # Numpy 类型对象:
    '''
    dtype 对象是使用以下语法构造的:
    
    numpy.dtype(object, align, copy)
    
    object - 要转换为的数据类型对象
    align - 如果为 true,填充字段使其类似 C 的结构体。
    copy - 复制 dtype 对象 ,如果为 false,则是对内置数据类型对象的引用
    
    '''
    # 1: 使用标量类型
    import numpy as np
    lxw = np.dtype(np.int32)
    print(lxw)
    print()
    # 2: int8, int16, int32, int64 四种数据类型可以使用字符串 'i1', 'i2','i4','i8' 代替
    import numpy as np
    lxw2 = np.dtype('i8')       # int64
    print(lxw2)
    print()
    # 3: 字节顺序标注
    import numpy as np
    lxw3 = np.dtype(&#39;<i4&#39;)      # int32
    print(lxw3)
    print()
    # 4: 首先创建结构化数据类型
    import numpy as np
    lxw4 = np.dtype([(&#39;age&#39;, np.int8)])     # i1
    print(lxw4)
    print()
    # 5: 将数据类型应用于 ndarray 对象
    import numpy as np
    lxw5 = np.dtype([(&#39;age&#39;, np.int32)])
    a = np.array([(10,), (20,), (30,)], dtype=lxw5)
    print(a)
    print()
    # 6: 类型字段名可以用于存取实际的 age 列
    import numpy as np
    lxw6 = np.dtype([(&#39;age&#39;, np.int64)])
    a = np.array([(10,), (20,), (30,)], dtype=lxw6)
    print(a[&#39;age&#39;])
    print()
    # 7: 定义一个结构化数据类型 student,包含字符串字段 name,整数字段 age,及浮点字段 marks,并将这个 dtype 应用到 ndarray 对象
    import numpy as np
    student = np.dtype([(&#39;name&#39;, &#39;S20&#39;), (&#39;age&#39;, &#39;i2&#39;), (&#39;marks&#39;, &#39;f4&#39;)])
    print(student)      # 运行结果:[(&#39;name&#39;, &#39;S20&#39;), (&#39;age&#39;, &#39;<i2&#39;), (&#39;marks&#39;, &#39;<f4&#39;)]
    print()
    # 8:
    import numpy as np
    student2 = np.dtype([(&#39;name&#39;,&#39;S20&#39;), (&#39;age&#39;, &#39;i1&#39;), (&#39;marks&#39;, &#39;f4&#39;)])
    lxw = np.array([(&#39;lxw&#39;, 21, 52), (&#39;cw&#39;, 22, 58)], dtype=student2)
    print(lxw)          # 运行结果:[(b&#39;lxw&#39;, 21, 52.) (b&#39;cw&#39;, 22, 58.)]
    # 每个内建类型都有一个唯一定义它的字符代码,如下:
    &#39;&#39;&#39;
    字符	对应类型
    b	布尔型
    i.csv	(有符号) 整型
    u	无符号整型 integer
    f	浮点型
    c	复数浮点型
    m	timedelta(时间间隔)
    M	datetime(日期时间)
    O	(Python) 对象
    S, a	(byte-)字符串
    U	Unicode
    V	原始数据 (void)
    &#39;&#39;&#39;
    登入後複製

    4 Numpy 数组属性

    在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。

    比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。

    相关代码学习、如下:

    # NumPy 的数组中比较重要 ndarray 对象属性有:
    &#39;&#39;&#39;
    属性	            说明
    ndarray.ndim	秩,即轴的数量或维度的数量
    ndarray.shape	数组的维度,对于矩阵,n 行 m 列
    ndarray.size	数组元素的总个数,相当于 .shape 中 n*m 的值
    ndarray.dtype	ndarray 对象的元素类型
    ndarray.itemsize	ndarray 对象中每个元素的大小,以字节为单位
    ndarray.flags	ndarray 对象的内存信息
    ndarray.real	ndarray元素的实部
    ndarray.imag	ndarray 元素的虚部
    ndarray.data	包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。
    
    &#39;&#39;&#39;
    # ndarray.ndim
    # ndarray.ndim 用于返回数组的维数,等于秩。
    import numpy as np
    lxw = np.arange(36)
    print(lxw.ndim)             # a 现只有一个维度
    # 现调整其大小
    a = lxw.reshape(2, 6, 3)    # 现在拥有三个维度
    print(a.ndim)
    print()
    # ndarray.shape
    # ndarray.shape 表示数组的维度,返回一个元组,这个元组的长度就是维度的数目,即 ndim 属性(秩)。比如,一个二维数组,其维度表示"行数"和"列数"。
    # ndarray.shape 也可以用于调整数组大小。
    import numpy as np
    lxw2 = np.array([[169, 175, 165], [52, 55, 50]])
    print(lxw2.shape)   # shape: 数组的维度
    print()
    # 调整数组大小:
    import numpy as np
    lxw3 = np.array([[123, 234, 345], [456, 567, 789]])
    lxw3.shape = (3, 2)
    print(lxw3)
    print()
    # NumPy 也提供了 reshape 函数来调整数组大小:
    import numpy as np
    lxw4 = np.array([[23, 543, 65], [32, 54, 76]])
    c = lxw4.reshape(2, 3)  # reshape: 调整数组大小
    print(c)
    print()
    # ndarray.itemsize
    # ndarray.itemsize 以字节的形式返回数组中每一个元素的大小。
    
    # 例如,一个元素类型为 float64 的数组 itemsize 属性值为 8(float64 占用 64 个 bits,
    # 每个字节长度为 8,所以 64/8,占用 8 个字节),又如,一个元素类型为 complex32 的数组 item 属性为 4(32/8)
    import numpy as np
    # 数组的 dtype 为 int8(一个字节)
    x = np.array([1, 2, 3, 4, 5], dtype=np.int8)
    print(x.itemsize)
    # 数组的dtypy现在为float64(八个字节)
    y = np.array([1, 2, 3, 4, 5], dtype=np.float64)
    print(y.itemsize)   # itemsize: 占用字节个数
    # 拓展:
    # 整体转化为整数型
    print(np.array([3.5, 6.6, 8.9], dtype=int))
    # 设置copy参数,默认为True
    a = np.array([2, 5, 6, 8, 9])
    b = np.array(a)                     # 复制a
    print(b)                            # 控制台打印b
    print(f&#39;a: {id(a)}, b: {id(b)}&#39;)     # 可打印出a和b的内存地址
    print(&#39;=&#39;*20)
    # 类似于列表的引用赋值
    b = a
    print(f&#39;a: {id(a)}, b: {id(b)}&#39;)
    # 创建一个矩阵
    lxw5 = np.mat([1, 2, 3, 4, 5])
    print(type(lxw5))   # 矩阵类型: <class &#39;numpy.matrix&#39;>
    # 复制出副本,并保持原类型
    yy = np.array(lxw5, subok=True)
    print(type(yy))
    # 只复制副本,不管其类型
    by = np.array(lxw5, subok=False)    # False: 使用数组的数据类型
    print(type(by))
    print(id(yy), id(by))
    print(&#39;=&#39;*20)
    # 使用数组的copy()方法:
    c = np.array([2, 5, 6, 2])
    cp = c.copy()
    print(id(c), id(cp))
    print()
    # ndarray.flags
    &#39;&#39;&#39;
    ndarray.flags 返回 ndarray 对象的内存信息,包含以下属性:
    属性	描述
    C_CONTIGUOUS (C)	数据是在一个单一的C风格的连续段中
    F_CONTIGUOUS (F)	数据是在一个单一的Fortran风格的连续段中
    OWNDATA (O)	数组拥有它所使用的内存或从另一个对象中借用它
    WRITEABLE (W)	数据区域可以被写入,将该值设置为 False,则数据为只读
    ALIGNED (A)	数据和所有元素都适当地对齐到硬件上
    UPDATEIFCOPY (U)	这个数组是其它数组的一个副本,当这个数组被释放时,原数组的内容将被更新
    
    &#39;&#39;&#39;
    import numpy as np
    lxw4 = np.array([1, 3, 5, 6, 7])
    print(lxw4.flags)   # flags: 其内存信息
    登入後複製

    Pandas学习

    当然,做这些的前提是首先把文件准备好

    文件准备:

    文件太长,故只截取了部分,当然,此文件可自行弄类似的也可以!

    如何運用Numpy和Pandas的Python函式庫?

    1 pandas新增数据列

    在进行数据分析时,经常需要按照一定条件创造新的数据列,然后再进一步分析

    • 直接赋值

    • df.apply()方法

    • df.assign()方法

    • 按条件进行分组分别赋值

    # 1:
    import pandas as pd
    
    # 读取数据
    lxw = pd.read_csv(&#39;sites.csv&#39;)
    
    # print(lxw.head())
    df = pd.DataFrame(lxw)
    # print(df)
    df[&#39;lrl&#39;] = df[&#39;lrl&#39;].map(lambda x: x.rstrip(&#39;%&#39;))
    # print(df)
    df.loc[:, &#39;jf&#39;] = df[&#39;yye&#39;] - df[&#39;sku_cost_prc&#39;]
    # 返回的是Series
    # print(df.head())
    # 2:
    def get_cha(n):
        if n[&#39;yye&#39;] > 5:
            return &#39;高价&#39;
        elif n[&#39;yye&#39;] < 2:
            return &#39;低价&#39;
        else:
            return &#39;正常价&#39;
    df.loc[:, &#39;yye_type&#39;] = df.apply(get_cha, axis=1)
    # print(df.head())
    print(df[&#39;yye_type&#39;].value_counts())
    # 3:
    # 可同时添加多个新列
    print(df.assign(
        yye_bh=lambda x: x[&#39;yye&#39;]*2-3,
        sl_zj=lambda x: x[&#39;sku_cnt&#39;]*6
    ).head(10))
    # 4:
    
    # 按条件先选择数据,然后对这部分数据赋值新列
    # 先创建空列
    df[&#39;zyye_type&#39;] = &#39;&#39;
    
    df.loc[df[&#39;yye&#39;] - df[&#39;sku_cnt&#39;]>8, &#39;zyye_type&#39;] = &#39;高&#39;
    df.loc[df[&#39;yye&#39;] - df[&#39;sku_cnt&#39;] <= 8, &#39;zyye_type&#39;] = &#39;低&#39;
    print(df.head())
    登入後複製

    下面分别是每个小问对应运行效果:

    1:

    如何運用Numpy和Pandas的Python函式庫?

    2:

    如何運用Numpy和Pandas的Python函式庫?

    3:

    如何運用Numpy和Pandas的Python函式庫?

    4:

    如何運用Numpy和Pandas的Python函式庫?

    2 Pandas数据统计函数

    # Pandas数据统计函数
    &#39;&#39;&#39;
    1-汇总类统计
    2-唯一去重和按值计数
    3-相关系数和协方差
    &#39;&#39;&#39;
    import pandas as pd
    lxw = pd.read_csv(&#39;nba.csv&#39;)
    # print(lxw.head(3))
    # 1:
    # 一下子提取所有数字列统计结果
    print(lxw.describe())
    # 查看单个Series的数据
    print(lxw[&#39;Age&#39;].mean())
    # 年龄最大
    print(lxw[&#39;Age&#39;].max())
    # 体重最轻
    print(lxw[&#39;Weight&#39;].min())
    # 2:
    # 2-1 唯一性去重【一般不用于数值项,而是枚举、分类项】
    print(lxw[&#39;Height&#39;].unique())
    print(lxw[&#39;Team&#39;].unique())
    # 2-2 按值计算
    print(lxw[&#39;Age&#39;].value_counts())
    print(lxw[&#39;Team&#39;].value_counts())
    # 3:
    # 应用:股票涨跌、产品销量波动等等
    &#39;&#39;&#39;
    对于两个变量X、Y:
    1-协方差:衡量同向程度程度,如果协方差为正,说明X、Y同向变化,协方差越大说明同向程度越高;
            如果协方差为负,说明X、Y反向运动,协方差越小说明方向程度越高。
    2-相关系数:衡量相似度程度,当他们的相关系数为1时,说明两个变量变化时的正向相似度最大,
                当相关系数为-1,说明两个变化时的反向相似度最大。
                 
    &#39;&#39;&#39;
    # 协方差矩阵:
    print(lxw.cov())
    # 相关系数矩阵:
    print(lxw.corr())
    # 单独查看年龄和体重的相关系数
    print(lxw[&#39;Age&#39;].corr(lxw[&#39;Weight&#39;]))
    # Age和Salary的相关系数
    print(lxw[&#39;Age&#39;].corr(lxw[&#39;Salary&#39;]))
    # 注意看括号内的相减
    print(lxw[&#39;Age&#39;].corr(lxw[&#39;Salary&#39;]-lxw[&#39;Weight&#39;]))
    登入後複製

    1:

    如何運用Numpy和Pandas的Python函式庫?

    2-1:

    如何運用Numpy和Pandas的Python函式庫?

    部分2-2:

    如何運用Numpy和Pandas的Python函式庫?

    3:

    如何運用Numpy和Pandas的Python函式庫?

    3 Pandas对缺失值的处理

    特殊Excel的读取、清洗、处理:

    # Pandas对缺失值的处理
    &#39;&#39;&#39;
    函数用法:
    1-isnull和notnull: 检测是否有控制,可用于dataframe和series
    2-dropna: 丢弃、删除缺失值
    2-1 axis: 删除行还是列,{0 or &#39;index&#39;, 1 or &#39;columns&#39;}, default()
    2-2 how: 如果等于any, 则任何值都为空,都删除;如果等于all所有值都为空,才删除
    2-3 inplace: 如果为True,则修改当前dataframe,否则返回新的dataframe
    2-4 value: 用于填充的值,可以是单个值,或者字典(key是列名,value是值)
    2-5 method: 等于ffill使用前一个不为空的值填充forword fill;等于bfill使用后一个不为空的值填充backword fill
    2-6 axis: 按行还是按列填充,{0 or "index", 1 or "columns"}
    2-7 inplace: 如果为True则修改当前dataframe,否则返回新的dataframe
    
    &#39;&#39;&#39;
    # 特殊Excel的读取、清洗、处理
    import pandas as pd
    # 1: 读取excel时,忽略前几个空行
    stu = pd.read_excel("Score表.xlsx", skiprows=14)     # skiprows: 控制在几行以下
    print(stu)
    # 2: 检测空值
    print(stu.isnull())
    print(stu[&#39;成绩&#39;].isnull())
    print(stu[&#39;成绩&#39;].notnull())
    # 筛选没有空成绩的所有行
    print(stu.loc[stu[&#39;成绩&#39;].notnull(), :])
    # 3: 删除全是空值的列:
    # axis: 删除行还是列,{0 or &#39;index&#39;, 1 or &#39;columns&#39;}, default()
    # how: 如果等于any, 则任何值都为空,都删除;如果等于all所有值都为空,才删除
    # inplace: 如果为True则修改当前dataframe,否则返回新的dataframe
    stu.dropna(axis="columns",  how="all", inplace=True)
    print(stu)
    # 4: 删除全是空值的行:
    stu.dropna(axis="index", how="all", inplace=True)
    print(stu)
    # 5: 将成绩列为空的填充为0分:
    stu.fillna({"成绩": 0})
    print(stu)
    # 同上:
    stu.loc[:, &#39;成绩&#39;] = stu[&#39;成绩&#39;].fillna(0)
    print(stu)
    # 6: 将姓名的缺失值填充【使用前面的有效值填充,用ffill: forward fill】
    stu.loc[:, &#39;姓名&#39;] = stu[&#39;姓名&#39;].fillna(method=&#39;ffill&#39;)
    print(stu)
    # 7: 将清洗好的Excel保存:
    stu.to_excel("Score成绩_clean.xlsx", index=False)
    登入後複製

    1:

    如何運用Numpy和Pandas的Python函式庫?

    2

    如何運用Numpy和Pandas的Python函式庫?

    如何運用Numpy和Pandas的Python函式庫?

    如何運用Numpy和Pandas的Python函式庫?

    3:

    如何運用Numpy和Pandas的Python函式庫?

    4:

    如何運用Numpy和Pandas的Python函式庫?

    5:

    如何運用Numpy和Pandas的Python函式庫?

    6:

    如何運用Numpy和Pandas的Python函式庫?

    以上是如何運用Numpy和Pandas的Python函式庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱門文章

    <🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
    3 週前 By 尊渡假赌尊渡假赌尊渡假赌
    北端:融合系統,解釋
    4 週前 By 尊渡假赌尊渡假赌尊渡假赌
    Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
    3 週前 By 尊渡假赌尊渡假赌尊渡假赌

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發環境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網頁開發工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級程式碼編輯軟體(SublimeText3)

    熱門話題

    Java教學
    1669
    14
    CakePHP 教程
    1428
    52
    Laravel 教程
    1329
    25
    PHP教程
    1273
    29
    C# 教程
    1256
    24
    PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

    PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

    在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

    PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

    sublime怎麼運行代碼python sublime怎麼運行代碼python Apr 16, 2025 am 08:48 AM

    在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

    PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

    PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

    Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

    Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

    Golang vs. Python:性能和可伸縮性 Golang vs. Python:性能和可伸縮性 Apr 19, 2025 am 12:18 AM

    Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。

    vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

    在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

    notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

    在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

    See all articles