如果你也基於pandas做數據分析,分享這幾個提高效率的小知識點

2021-01-15 技頑

本文基於數據分析庫pandas,分享我在工作中常常需要使用的幾個關於數據定位的常用語法以及幾個小知識點。

01loc和iloc

目前pandas的版本已經取消了ix和at等語法,推薦使用的是loc和iloc這兩種語法定位數據

loc是location的縮寫,iloc是index_location的縮寫,前者是基於標籤(標籤是指通過列名或者索引名定位數據),後者是基於索引(是指通過列或者行的索引定位數據)

使用方法

通過行列:loc[row_name: column_name],iloc[row_index:column_index]單個標籤:loc[row] ;iloc[row_index] -> -> 某一行數據切片:loc[row:row],iloc[row_index: row_index] -> 某行到某行的數據lambd函數的使用定位數據

loc[4]和iloc[4]的使用和區別

loc[2:5]和iloc[2:5]的區別

其實還可以這樣用,用lambda函數

根據索引位置定位元素

02列印索引和列名

03讀取excel表

讀取某張特定sheet語法

pd.read_excel('path_to_file.xls', sheet_name='Sheet1')

讀取多張sheet表

file_path = "/Users/mark-chen/Documents/test.xlsx"with pd.ExcelFile(file_path) as xls:df1 = pd.read_excel(xls, 'Sheet1') df2 = pd.read_excel(xls, 'Sheet2')

04數據合併

數據的合併分為兩種,一種是追加:是指在某一df的最後一列直接追加另一個df數據集合;一種是關聯:是指類似於使用sql語句的inner join/left join/ right join等操作兩個不同的df

一般來講,concat/append是用來進行追加操作(concat的性能一般要優於append語法);而merge是用來對數據進行關聯操作

這裡簡單介紹下這兩個語法

concat語法

pd.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True)

append語法

df1.append(s2, ignore_index=True,sort=False)

merge語法

pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=('_x','_y'), copy=True, indicator=False, validate=None)

本章<完>!

我是一名奮戰在編程界的pythoner,工作中既要和數據打交道,也要和erp系統,web網站保持友好的溝通……時不時的會分享一些提高效率的編程小技巧,在實際應用中遇到的問題以及解決方案,或者源碼的閱讀等等,歡迎大家一起來討論!如果覺得寫得還不錯,歡迎關注點讚,謝謝。

相關焦點

  • Python數據分析利器,Pandas入門介紹,幫你便捷高效處理複雜數據
    關於Python的數據分析,當我們遇到的數據量小、數據結構簡單時,可以通過字典、列表等Python常見的數據結構來處理。但是當我們面對的大量數據以及複雜數據的局面時,就需要用一些專門用於數據分析的擴展庫來處理數據了。今天給大家介紹一個Python裡專門用來做數據分析和處理的擴展庫。
  • pandas庫中最重要的幾個知識點
    前言本篇是【機器學習與數據挖掘】頭條號原創首發Python數據分析系列文章的第四篇Python數據分析系列文章之Python基礎篇Python數據分析系列文章之NumpyPython數據分析系列文章之Pandas(上)Python數據分析系列文章之Pandas(下)Python數據分析系列文章之ScipyPython數據分析系列文章之MatplotlibPython
  • Python數據分析:pandas讀取和寫入數據
    我的公眾號是關於自己在數據分析/挖掘學習過程中的一些技術和總結分享,文章會持續更新......繼續深入學習pandas相關操作,數據讀取寫入、分組、合併,轉換等等。前面一篇文章裡已經寫了關於描述性統計以及常用的基本操作。接下來的一段時間裡,我將陸續地去掌握並輸出。這篇文章是關於數據讀取與寫入的知識點。
  • 提高數據處理效率,一行代碼開啟Pandas四倍速!
    快來了解新庫Modin,可以分割pandas的計算量,提高數據處理效率,一行代碼即刻開啟Pandas四倍速。首先了解一些基礎知識:Pandas作為Python中用於處理數據的庫,能簡單且靈活地處理不同種類、大小的數據。除此之外,Pandas還有許多函數有助於輕鬆處理不同數據。
  • Python學習120課 pandas簡介kaggle下載數據及pandas讀取外部數據
    numpy的基本的東西我們學習差不多了,後面具體應用中遇到問題具體分析,然後去深入了解遇到的新的知識點就行。現在我們開始學習pandas,pandas一般用的更多,pandas是基於numpy去寫的。pandas是一個專門做數據結構和數據分析的庫。
  • 6個提升效率的pandas小技巧
    pandas是python中常用的數據分析庫,出現頻率非常高,而且pandas功能之多讓人咋舌,即使pandas老手也沒法保證能高效使用pandas做數據分析。這篇文章目的梳理幾個高效實用的pandas小技巧,供大家參考。1.
  • 未明學院:7張思維導圖掌握數據分析關鍵庫pandas
    原創: 未明學院Pandas是一個強大的分析結構化數據的工具集;它基於numpy,用於數據分析和數據挖掘,同時也提供數據清洗功能。pandas與numpy一起構成了數據分析的基礎雙生庫。今天小明邀請了未明的王老師,給大家總結了pandas的核心知識,主要包括以下幾個方面。pandas核心知識01、首先我們來認識一下pandas的一些基本概念。pandas概述02在使用pandas做數據分析的時候往往第一步就是將數據導入進來,比如csv或者excel格式的數據,下面這張圖就是我們讀取數據時候的方法和參數。
  • 幾個Pandas參數設置小技巧
    在日常使用pandas的過程中,由於我們所分析的數據表規模、格式上的差異,使得同樣的函數或方法作用在不同數據上的效果存在差異。而pandas有著自己的一套「參數設置系統」,可以幫助我們在遇到不同的數據時靈活調節從而達到最好的效果,本文就將介紹pandas中常用的參數設置方面的知識
  • 一張圖看遍數據分析神器Pandas所有語法
    Python在數據分析領域之所以牛,很大程度上是因為Pandas這個庫是在是太好用,廣泛應用於數據處理、數據分析等領域。回想起自己剛畢業那會,要做很多處理,總是自己的讀取文件、篩選過濾、關聯文件、聚合統計、繪製圖表等等工作都是用Python原生語法實現,效率極其低下並且容易出錯,當我後來接觸到Pandas簡直喜愛的要哭。
  • 懂Excel就能輕鬆入門Python數據分析包pandas(十六):合併數據
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言本系列上一節說了拆分數據的案例,這次自然是說下怎麼合併數據。
  • 用Python做數據分析:Pandas常用數據查詢語法
    如果誰能把常用的數據查詢語法做個對比就好了 ",我也曾不止一次地想享受前人的成果,無奈發現網上的文章側重不同且深淺不一,還涉及到一些Pandas新老版本的問題,於是決定自己動手。 新增列-基於原有列的全年銷售額 首先df['Total ']確保了你在該df內新增了一個column,然後累加便可。 df['Total']  = df['Q1']+df['Q2']+df['Q3']+df['Q4']
  • 如何通過一頓飯來說明NumPy與pandas的功用
    最後,NumPy所有獨有的可以在整個數組上執行複雜的計算也能夠大幅提高運算效率(基於NumPy的算法要比純Python快10到100倍,甚至會快更多)。而對於後者,經過合理的優化,Python處理幾個G的數據綽綽有餘,至於幾十G也勉強可以,而上百G的數據這就算是Hadoop與Spark系列的任務,不是Python的NumPy與pandas可以應付的,也不是R語言某個第三方包可以處理的。
  • pandas指南:做更高效的數據科學家
    如果你是Python新手,很難知道針對特定任務的包哪個是最好的。你需要有經驗的人來告訴你。今天我要告訴你們的是:在數據科學中,有一個軟體包是你們絕對需要學習的,那就是pandas。而pandas真正有趣的地方是,很多其他的包也在裡面。pandas是一個核心包,因此它具有來自其他各種包的特性。
  • 如何使用Pandas-Profiling進行探索性數據分析
    當開始一個新的機器學習項目時,獲得機器學習數據集之後的第一步就是要了解它。我們可以通過執行探索性數據分析(EDA)來實現這一點。這包括找出每個變量的數據類型、目標變量的分布、每個預測變量的不同值的數量、數據集中是否有重複值或缺失值等。進行EDA探索機器學習數據集的過程往往是非常耗時的。什麼是Pandas-Profiling?
  • 提高數據分析能力,你不得不看的33本書|推薦收藏
    數據分析是一門專業且跨越多個領域的學科,需要我們同時具備數據能力、業務能力,還有基本的數據思維方法。除了平時在網上搜集相關資料學習以外,如果希望短時間內高效的掌握數據分析的知識並運用到工作中,這個時候參考經典的好書,對提高數據分析能力會更有幫助。今天DataHunter數獵哥就為大家推薦一份相對完整的入門學習體系的數據分析書單。
  • 想成為高效數據科學家?不會Pandas怎麼行
    選自 towardsdatascience作者:Félix Revert機器之心編譯參與:Nurhachu Null、張倩Pandas 是為了解決數據分析任務而創建的一種基於 NumPy 的工具包,囊括了許多其他工具包的功能,具有易用、直觀、快速等優點。
  • 如何通過網絡數據的獲取,做出這些數據分析項目?
    這就是需求不明確導致的,當然學習方式也值得商榷,那到底數據分析需要什麼樣的技能呢? 這裡作為例子,從招聘網站上找了幾個數據分析的崗位,我們來看看具體的要求是怎樣的。比如你可以通過爬蟲獲取招聘網站某一職位的招聘信息,爬取租房網站上某城市的租房信息,獲取知乎點讚排行、網易雲音樂評論排行列表。基於網際網路爬取的數據,你可以對某個行業、某個事件、某類人群進行分析。
  • Pandas GUI:如何輕鬆獲取Pandas數據幀?
    全文共2071字,預計學習時長6分鐘Pandas庫目前已經成為用Python進行探索性數據分析的絕佳伴侶。它功能豐富,靈活易用,成為了當今許多數據科學家的首選。Pandas庫的社區也很完善,這讓它能夠一直積極發展和改進。提到Pandas,就不得不提到這兩種工具:· 可以用簡短的代碼執行基本EDA的工具。
  • 教程| pandas輕鬆入門 之 數據結構介紹 1
    訪問flyai.club,一鍵創建你的人工智慧項目Pandas含有使數據清洗和分析工作變得更快更簡單的數據結構和操作工具。pandas經常和其它工具一同使用,如數值計算工具NumPy和SciPy,分析庫statsmodels和scikit-learn,和數據可視化庫matplotlib。
  • 如何用pandas更快地進行數據可視化?
    作者:劉早起來源:早起Python(公眾號)如果你經常使用Python進行數據分析,那麼對於pandas一定不會陌生,但是Pandas除了在數據處理上大放異彩,隨著版本的不斷更新,Pandas的繪圖功能在某些情況下甚至要比matplotlib更加適用,本文就將介紹如何用