欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Pandas之容易讓人混淆的行選擇和列選擇

 更新時間:2019年07月10日 11:01:33   作者:kylinlin  
這篇文章主要介紹了詳解Pandas之容易讓人混淆的行選擇和列選擇,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在剛學(xué)Pandas時,行選擇和列選擇非常容易混淆,在這里進(jìn)行一下討論和歸納

本文的數(shù)據(jù)來源:https://github.com/fivethirtyeight/data/tree/master/fandango

import pandas as pd

fandango = pd.read_csv('fandango_score_comparison.csv')

原始的數(shù)據(jù)如下(截取了一部分)

 行選擇

Pandas進(jìn)行行選擇一般有三種方法:

  • 連續(xù)多行的選擇用類似于python的列表切片
  • 按照指定的索引選擇一行或多行,使用loc[]方法
  • 按照指定的位置選擇一行多多行,使用iloc[]方法

第一種,使用類似于python的列表切片

n = fandango[1:3]

從結(jié)果可以看到,和python的列表切片一樣,索引號從0開始,選擇了索引號1和2的數(shù)據(jù)(不包括3)

 第二種,按照指定的索引選擇一行或多行,使用loc[]方法

o = fandango.loc[1]

p = fandango.loc[1:3]

可以看到,o是一個Series,選擇了索引號為1的那一行數(shù)據(jù),注意p,它與第一種的列表索引最大的不同是包含了索引號為3的那一行數(shù)據(jù)

u = fandango.loc[[1,3]]

這里按照索引號選擇不連續(xù)的行

第三種,按照指定的位置選擇一行多多行,使用iloc[]方法

在上面的數(shù)據(jù)中,使用iloc[]和loc[]的效果是一樣的,因為索引號都是從0開始并且連續(xù)不斷,現(xiàn)在我要刪除索引號為1和2的這兩行

fandango_drop = fandango.drop([1,2], axis=0)

可以看到的確刪除了兩行數(shù)據(jù)

此時我仍然用loc[]來索引行號為2的那一行,就會出錯

s = fandango_drop.loc[2]

但是,我使用iloc[]來進(jìn)行一次

t = fandango_drop.iloc[2]

看到了吧,iloc[2]的意思是選擇第三行的數(shù)據(jù),也就是索引號為4的那一行數(shù)據(jù),因為iloc[]的計算也是從0開始的,所以iloc[]適用于數(shù)據(jù)進(jìn)行了篩選后造成索引號與原來不一致的情況

loc[]與iloc[]方法之間還有一個巨大的差別,那就是loc[]里的參數(shù)是對應(yīng)的索引值即可,所以參數(shù)可以是整數(shù),也可以是字符串。而iloc[]里的參數(shù)表示的是第幾行的數(shù)據(jù),所以只能是整數(shù)

 列選擇

列選擇比較簡單,只要直接把列名傳遞過去即可,如果有多列的數(shù)據(jù),要單獨指出列名或列的索引號

第一種,選擇單列,選擇了電影名稱那一列

q = fandango['FILM']

第二種,通過指定列名選擇多列

r = fandango[['FILM','Metacritic']]

第三種,非常容易讓人混淆的,通過列的索引號選擇多列

v = fandango[[0,1,2]]

其實,列也是有一個索引號的,看到這里不禁想問,那我要選擇前5列呢?我不想寫一個長列表,又不想逐個寫出這5列的名稱,能否用切片呢?

x = fandango[[0:5]]

事實證明,這是不行的,更好的方法是在參數(shù)中構(gòu)建一個列表

w = fandango[list(range(5))]

更多的參考資料:http://pandas.pydata.org/pandas-docs/version/0.17.0/api.html

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一次python-flask藍(lán)圖的踩坑記錄

    一次python-flask藍(lán)圖的踩坑記錄

    簡單來說,藍(lán)圖就是一個存儲操作路由映射方法的容器,主要用來實現(xiàn)客戶端請求和URL相互關(guān)聯(lián)的功能,在Flask中,使用藍(lán)圖可以幫助我們實現(xiàn)模塊化應(yīng)用的功能,這篇文章主要給大家介紹了關(guān)于python-flask藍(lán)圖踩坑的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Python實現(xiàn)GIF圖倒放

    Python實現(xiàn)GIF圖倒放

    這篇文章主要介紹了Python如何實現(xiàn)GIF圖倒放,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Python集合的基礎(chǔ)操作

    Python集合的基礎(chǔ)操作

    這篇文章主要介紹了Python集合的基礎(chǔ)操作,Python中的集合和數(shù)學(xué)上的集合基本是沒有區(qū)別的,是無序的,即不可以使用索引訪問的,集合中是不能出現(xiàn)重復(fù)元素的。想著情了解具體內(nèi)容的小伙伴可以參考下面文章內(nèi)容
    2021-11-11
  • Python中Arrow庫的時間操作技法總結(jié)

    Python中Arrow庫的時間操作技法總結(jié)

    Arrow是一個功能強大、易用且具有優(yōu)雅設(shè)計的Python日期時間庫,它建立在Python的datetime模塊之上,旨在彌補datetime模塊在處理日期時間時的一些不足之處,下面我們就來了解一下Arrow庫的常見時間操作吧
    2023-12-12
  • 詳解Python是如何處理不同時區(qū)的

    詳解Python是如何處理不同時區(qū)的

    時區(qū)是指在地球上不同地方的時間差異,地球分為?24?個時區(qū),每個時區(qū)都相對于格林威治標(biāo)準(zhǔn)時間或協(xié)調(diào)世界時(UTC)有所偏移。本文主要和大家來聊聊Python是如何處理不同時區(qū)的,希望對大家有所幫助
    2023-02-02
  • python GUI實例學(xué)習(xí)

    python GUI實例學(xué)習(xí)

    給大家介紹一下python GUI實例學(xué)習(xí)的心得以及實現(xiàn)的方式,希望能幫助到你。
    2017-11-11
  • PyCharm遠(yuǎn)程調(diào)試代碼配置以及運行參數(shù)設(shè)置方式

    PyCharm遠(yuǎn)程調(diào)試代碼配置以及運行參數(shù)設(shè)置方式

    這篇文章主要介紹了PyCharm遠(yuǎn)程調(diào)試代碼配置以及運行參數(shù)設(shè)置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Python 數(shù)據(jù)分析之Beautiful Soup 提取頁面信息

    Python 數(shù)據(jù)分析之Beautiful Soup 提取頁面信息

    Beautiful Soup 提供一些簡單的、python 式的函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù),因為簡單,所以不需要多少代碼就可以寫出一個完整的應(yīng)用程序
    2021-10-10
  • 使用selenium模擬登錄解決滑塊驗證問題的實現(xiàn)

    使用selenium模擬登錄解決滑塊驗證問題的實現(xiàn)

    這篇文章主要介紹了使用selenium模擬登錄解決滑塊驗證問題的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python實現(xiàn)簡易端口掃描器代碼實例

    Python實現(xiàn)簡易端口掃描器代碼實例

    本篇文章主要介紹了Python實現(xiàn)簡易端口掃描器的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03

最新評論