最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pandas索引與賦值操作、排序以及Series排序和DataFrame排序方式

 更新時(shí)間:2023年09月13日 09:50:51   作者:learning-striving  
這篇文章主要介紹了pandas索引與賦值操作、排序以及Series排序和DataFrame排序方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、pandas索引操作

索引操作,使用索引選取序列和切片選擇數(shù)據(jù),也可以直接使用列名、行名稱,或組合使用

  • 直接使用行列索引:行列索引名順序?yàn)橄攘性傩?,使用指定行列索引名,不能使用下?biāo)
  • loc[行索引名,列索引名]:先行再列,只能使用指定的行列索引名,不能使用下標(biāo)
  • iloc[行,列]:先行再列,只能使用索引下標(biāo)獲取數(shù)據(jù),不能使用指定行列索引名
  • 下標(biāo)索引與指定行列索引相結(jié)合:使用index或columns.get_indexer,見案例

代碼如下

import pandas as pd
import numpy as np
# 數(shù)據(jù)生成代碼
num = np.random.randint(50, 100, (3, 5))
num
# 傳入標(biāo)簽索引
column = ['第一列', '第二列', '第三列', '第四列', '第五列']   # 列標(biāo)簽索引
# ind = ['第一行', '第二行', '第三行']    # 行標(biāo)簽索引
ind = ['第_' + str(i) + '_行' for i in range(num.shape[0])]   # 行標(biāo)簽索引,num.shape[0]即獲取num數(shù)組的行號,此處為3
data = pd.DataFrame(num, columns=column, index=ind)
data
-------------------------------------------------------------------
data['第五列']['第_2_行']    # 只能先列再行
data['第_2_行']['第五列']    # 先行再列,報(bào)錯(cuò)
data.loc['第_0_行':'第_2_行', '第三列']    # 先行再列,loc只能使用指定行列索引,切取第三列中[0,2]行中的數(shù)據(jù)
data.loc[:'第_2_行', '第三列':]   # loc只能使用指定行列索引,切取[0,2]行,3-最后一列的數(shù)據(jù)
data.iloc[:2, 2:]   # iloc只能使用下標(biāo)索引,切取[0,2)行,3-最后一列的數(shù)據(jù)

數(shù)據(jù)生成

 

操作如下 

下標(biāo)索引與指定行列索引相結(jié)合

data.loc[data.index[0:2], ['第二列', '第三列', '第五列']]   # 下標(biāo)索引與指定行列索引相結(jié)合
data.iloc[0:2, data.columns.get_indexer(['第二列', '第三列', '第五列'])]  # 下標(biāo)索引與指定行列索引相結(jié)合

二、pandas賦值操作

只能對某一列賦值,不能對一行賦值,有兩種方式,直接使用索引用點(diǎn).索引名,具體如下

代碼如下 

import pandas as pd
import numpy as np
# 數(shù)據(jù)生成代碼
num = np.random.randint(50, 100, (3, 5))
# 傳入標(biāo)簽索引
column = ['第一列', '第二列', '第三列', '第四列', '第五列']   # 列標(biāo)簽索引
# ind = ['第一行', '第二行', '第三行']    # 行標(biāo)簽索引
ind = ['第_' + str(i) + '_行' for i in range(num.shape[0])]   # 行標(biāo)簽索引,num.shape[0]即獲取num數(shù)組的行號,此處為3
data2 = pd.DataFrame(num, columns=column, index=ind)
data2
------------------------------------------------------------
data2['第四列'] = 88   # 值可為字符串或漢字
data2
data2.第一列 = 99  # 方式二
data2

生成數(shù)據(jù)

 

操作如下

三、pandas排序

pandas排序有兩種方式,一種是對索引進(jìn)行排序,另一種是對內(nèi)容進(jìn)行排序

3.1 DataFrame排序

  • df.sort_values(by=, ascending=):單個(gè)鍵(列名)或多個(gè)鍵進(jìn)行排序
  • by:指定排序參考的鍵
  • ascending:指定升序或降序
  • ascending=True:默認(rèn)升序
  • ascending=False:降序
  • df.sort_index():給索引進(jìn)行排序

代碼如下 

data2.sort_values(by='第三列')  # 默認(rèn)ascending=True,即升序排序
data2.sort_values(by='第三列', ascending=False)   # 根據(jù)第三列降序排序
data2.sort_values(by=['第一列', '第四列'], ascending=False)    # 根據(jù)多列降序排序
data2.sort_index()   # 給索引進(jìn)行排序

操作演示 

3.2 Series排序

  • series.sort_values(ascending=True):series排序時(shí),只有一列,不需要參數(shù)
  • series.sort_index(ascending=):根據(jù)索引排序,ascending指定升序或降序,默認(rèn)升序

代碼如下 

data2['第四列'].sort_values()    # 默認(rèn)ascending=True,即將第四列升序排序
data2['第四列'].sort_values(ascending=False)    # ascending=False,將第四列降序排序
data2['第四列'].sort_index(ascending=False)    # ascending=False,根據(jù)索引將第四列降序排序
data2['第四列'].sort_index()    # 默認(rèn)ascending=True,根據(jù)索引將第四列升序排序

操作演示 

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用Python解決Excel問題的最佳方案總結(jié)

    利用Python解決Excel問題的最佳方案總結(jié)

    python處理excel文件有很多方法,最開始接觸的是xlrd、xlsxwriter模塊,分別用于excel文件的讀、寫,后來又學(xué)習(xí)了openpyxl模塊,可以同時(shí)完成excel文件的讀、寫,下面這篇文章主要給大家介紹了關(guān)于利用Python解決Excel問題的最佳方案,需要的朋友可以參考下
    2023-04-04
  • python使用正則表達(dá)式提取網(wǎng)頁URL的方法

    python使用正則表達(dá)式提取網(wǎng)頁URL的方法

    這篇文章主要介紹了python使用正則表達(dá)式提取網(wǎng)頁URL的方法,涉及Python中urllib模塊及正則表達(dá)式的相關(guān)使用技巧,需要的朋友可以參考下
    2015-05-05
  • python實(shí)現(xiàn)磁盤日志清理的示例

    python實(shí)現(xiàn)磁盤日志清理的示例

    這篇文章主要介紹了python實(shí)現(xiàn)磁盤日志清理的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • 基于Python?wxPython開發(fā)文件管理工具

    基于Python?wxPython開發(fā)文件管理工具

    這篇文章主要為大家詳細(xì)介紹了如何基于wxPython開發(fā)一個(gè)文件管理工具,該工具提供了多種實(shí)用功能,代碼結(jié)構(gòu)清晰,易于理解和擴(kuò)展,需要的可以了解下
    2025-02-02
  • python中的sort方法使用詳解

    python中的sort方法使用詳解

    這篇文章主要介紹了python中的sort方法,需要的朋友可以參考下
    2014-07-07
  • Python相互導(dǎo)入的問題解決

    Python相互導(dǎo)入的問題解決

    大家好,本篇文章主要講的是Python相互導(dǎo)入的問題解決,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • python PyQt5的窗口界面的各種交互邏輯實(shí)現(xiàn)

    python PyQt5的窗口界面的各種交互邏輯實(shí)現(xiàn)

    PyQt5是一個(gè)Python綁定庫,用于Qt C++ GUI框架,它允許開發(fā)者使用Python語言創(chuàng)建跨平臺的應(yīng)用程序,并利用豐富的Qt圖形用戶界面功能,本文介紹了python中PyQt5窗口界面的各種交互邏輯實(shí)現(xiàn),需要的朋友可以參考下
    2024-07-07
  • 詳解Python的hasattr() getattr() setattr() 函數(shù)使用方法

    詳解Python的hasattr() getattr() setattr() 函數(shù)使用方法

    這篇文章主要介紹了詳解Python的hasattr() getattr() setattr() 函數(shù)使用方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • Python在圖片中插入大量文字并且自動(dòng)換行

    Python在圖片中插入大量文字并且自動(dòng)換行

    今天小編就為大家分享一篇關(guān)于Python在圖片中插入大量文字并且自動(dòng)換行,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • python靜態(tài)web服務(wù)器實(shí)現(xiàn)方法及代碼詳解

    python靜態(tài)web服務(wù)器實(shí)現(xiàn)方法及代碼詳解

    在本篇內(nèi)容里小編給大家分享了一篇關(guān)于python靜態(tài)web服務(wù)器實(shí)現(xiàn)方法,有需要的朋友們可以參考下。
    2022-11-11

最新評論

威远县| 青川县| 杭锦旗| 巩留县| 广宗县| 东辽县| 台湾省| 文昌市| 鲁山县| 鄂伦春自治旗| 乃东县| 和政县| 荣成市| 舞钢市| 家居| 中方县| 泊头市| 缙云县| 饶平县| 疏勒县| 绥化市| 定远县| 始兴县| 桑日县| 安西县| 浮梁县| 青阳县| 光泽县| 海伦市| 吉林市| 仙居县| 鄂伦春自治旗| 驻马店市| 福海县| 西吉县| 庄浪县| 麟游县| 南岸区| 九江县| 承德县| 来凤县|