懂Excel輕鬆入門Python數據分析包pandas(二十七):IF函數代替者

2021-01-11 Python數據世界

此系列文章收錄在:數據大宇宙 > 數據處理 > E-pd

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas

numpy.where 方法

Excel 函數中有一個初學者都能馬上學會的函數——IF 函數,而在 pandas 中卻沒有對應效果的方法,這是因為 numpy 已經有了對應的實現—— where。

他能根據條件(true 或者 false) 返回不同的值。由於需要使用 numpy 的方法,因此代碼的開始需要導入 numpy 包:

import pandas as pdimport numpy as np

場景

如下學生成績表:

高於等於60分算合格,C列打上"是",否則打上"否"典型的根據條件選擇某個值的需求怎麼解決

如此簡單的需求,Excel中一個IF函數輕鬆解決:

IF 函數第一參數是條件,第二參數是當第一條件為 true 時的返回,第三參數是當第一條件為 false 時的返回在使用numpy.where方法時的邏輯與上述Excel的IF函數一致:

df = pd.read_excel('data.xlsx', 'sp1')df['res'] = np.where(df.成績>=60,'是','否')df

行2:np.where 各個參數都能接受 pandas 的列(Series)性能優越

如果你看過本系列文章會發現,怎麼當初入門 Python 的時候,學習的各種處理列表、字典的技巧全都用不上了。甚至 if、for 循環都很少用到了。

在 pandas 中其實也可以選擇用 Python 的基本語法處理。

比如上面的例子,我們可以用apply:

df = pd.read_excel('data.xlsx', 'sp1')defap_where(x):if x >= 60: return'是'return'否'df['res'] = df.成績.apply(ap_where)df

但是,上述代碼的執行性能與直接使用 numpy 或 pandas 內置方法,會差上幾十上百倍總結

本文重點:

numpy.where 函數的使用方式與 Excel 的 IF 函數一致需要源碼的小夥伴請轉發本文並私信我"python"

如果希望從零開始學習 pandas ,那麼可以看看我的 pandas 專欄。

相關焦點

  • 懂Excel就能輕鬆入門Python數據分析包pandas(十六):合併數據
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言本系列上一節說了拆分數據的案例,這次自然是說下怎麼合併數據。
  • 懂Excel也能輕鬆入門Python數據分析包pandas(二):高級篩選(上)
    更多 Python 數據處理的乾貨,敬請關注!!!!系列文章:懂Excel就能輕鬆入門Python數據分析包pandas(一):篩選功能前言經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • 懂Excel輕鬆入門Python數據分析包pandas(二十一):透視表
    後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言本系列上一節文章最後我隨手使用了 pandas 中的透視表操作,之後有些小夥伴詢問我相關的問題。正好 pandas 的 pivot_table 也是與 Excel 透視表對應。本文簡單教你入門使用 pandas 完成透視表功能。
  • Python數據分析:pandas讀取和寫入數據
    我的公眾號是關於自己在數據分析/挖掘學習過程中的一些技術和總結分享,文章會持續更新......繼續深入學習pandas相關操作,數據讀取寫入、分組、合併,轉換等等。前面一篇文章裡已經寫了關於描述性統計以及常用的基本操作。接下來的一段時間裡,我將陸續地去掌握並輸出。這篇文章是關於數據讀取與寫入的知識點。
  • 懂Excel就能輕鬆入門Python數據分析包pandas(七):分列
    經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言今天從兩個需求來看看數據分列功能,由於 Excel 自帶功能比較弱,在處理稍微複雜的需求時會顯得力不從心,因此,本系列文章將引入 Excel 中一個非常高效的數據處理插件—— Power Query,並且看看 pandas 是怎樣靈活解決。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    6多態 7類屬性,類方法,靜態方法 8單例模式 9異常 10模塊和包 11文件操作 12文本編碼 13內建函數eval 3項目實戰部分:1項目準備 2遊戲窗口和繪製圖像 3遊戲循環和鍵盤事件 4精靈和精靈組 5框架搭建
  • 想成為高效數據科學家?不會Pandas怎麼行
    選自 towardsdatascience作者:Félix Revert機器之心編譯參與:Nurhachu Null、張倩Pandas 是為了解決數據分析任務而創建的一種基於 NumPy 的工具包,囊括了許多其他工具包的功能,具有易用、直觀、快速等優點。
  • 快速介紹Python數據分析庫pandas的基礎知識和代碼示例
    我創建了這個pandas函數的備忘單。這不是一個全面的列表,但包含了我在構建機器學習模型中最常用的函數。讓我們開始吧!本附註的結構:導入數據導出數據創建測試對象查看/檢查數據選擇查詢數據清理篩選、排序和分組統計數據首先,我們需要導入pandas開始:import pandas as pd導入數據使用函數pd.read_csv直接將CSV轉換為數據格式。注意:還有另一個類似的函數pd。read_excel用於excel文件。
  • Pandas閃回咒!如何在Python中重寫SQL查詢?
    一些程式設計師只熟悉SQL中的數據操作,卻不熟悉Python中的數據操作,因此在完成項目時,我們不得不頻繁地在SQL和Python之間進行切換,導致了工作效率低下和生產能力下降。本文就教你一種方法,使用Pandas在Python中輕鬆重現SQL結果。
  • 使用pandas和openpyxl處理複雜Excel數據
    關於Excel數據處理,很多同學可能使用過Pyhton的pandas模塊,用它可以輕鬆地讀取和轉換Excel數據。但是實際中Excel表格結構可能比較雜亂,數據會分散不同的工作表中,而且在表格中分布很亂,這種情況下啊直接使用pandas就會非常吃力。本文蟲蟲給大家介紹使用pandas和openpyxl讀取這樣的數據的方法。
  • 數據分析從業者必看,10 個加速 python 數據分析的簡單的小技巧
    其中,有些可能是相當有名的,有些可能是新的,但我相信下次您從事數據分析項目時,它們會非常有用。1.Profiling the pandas dataframeProfiling 是一個幫助我們理解數據的程序,而 Pandas Profiling 正是實現這一點的一個 python 包。
  • 秒懂!圖解四個實用的pandas函數!
    作者:Baijayanta Roy來源:towardsdatascience編譯&內容補充:早起Python在用python進行機器學習或者日常的數據處理中,pandas是最常用的Python庫之一,熟練掌握pandas是每一個數據科學家的必備技能,本文將用代碼+圖片詳解Pandas中的四個實用函數!
  • pandas指南:做更高效的數據科學家
    如果你是Python新手,很難知道針對特定任務的包哪個是最好的。你需要有經驗的人來告訴你。今天我要告訴你們的是:在數據科學中,有一個軟體包是你們絕對需要學習的,那就是pandas。而pandas真正有趣的地方是,很多其他的包也在裡面。pandas是一個核心包,因此它具有來自其他各種包的特性。
  • 未明學院:7張思維導圖掌握數據分析關鍵庫pandas
    原創: 未明學院Pandas是一個強大的分析結構化數據的工具集;它基於numpy,用於數據分析和數據挖掘,同時也提供數據清洗功能。pandas與numpy一起構成了數據分析的基礎雙生庫。今天小明邀請了未明的王老師,給大家總結了pandas的核心知識,主要包括以下幾個方面。pandas核心知識01、首先我們來認識一下pandas的一些基本概念。pandas概述02在使用pandas做數據分析的時候往往第一步就是將數據導入進來,比如csv或者excel格式的數據,下面這張圖就是我們讀取數據時候的方法和參數。
  • 那些讓你「相見恨晚」的數據分析軟體,一般人我不告訴他
    直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟體。事實上,當數據量不大,我們常作為平日裡數據預處理的一個首選菜單式軟體,快速填充、缺失值填補、數據格式規範化等等,另外,excel強大的文本和數值處理函數也讓它在表格軟體地位不可撼動。
  • 用R也可以跑Python了
    通過安裝包,你現在可以在R上運行Python的安裝包和函數了~今天文摘菌就來教教你咋用這個reticulate包。在R中導入一個python模塊您可以使用函數import()來導入特定的包或模塊。通過使用repl_python()函數,可以使Python和R交互。
  • Excel VBA函數篇-3.19大數據時代必備查找技能 萬條數據能奈我何
    前景提要經常看電視或者是一些招聘信息的童鞋,應該就比較熟悉大數據這個概念,大數據簡單的理解就是非常龐大的數據處理,數據量的提升,最直接的結果就是普通的數據處理方法越來越慢了,現在也是推出了很多種針對大數據處理的語言,比方說比較火熱的python,他的pandas模塊,numpy模塊,完全就是為大數據而生的,說到這裡肯定很多童鞋就方了,那麼excel是不是就沒有用處了呢
  • 用Pandas演示tips的小技巧,學到了嗎?
    全文共1042字,預計學習時長5分鐘Pandas在數據分析中的重要作用不必多言。不管是Confluence上的一篇文章、GitHub中Readme文檔,抑或一篇科學論文,每個項目都會以報告之類來收尾。使用Pandas,就不必再將數據幀(DataFrame)裡的值逐一複製到另一個軟體中,它的格式化函數能夠將數據幀轉換成多種格式。
  • PandaSQL:一個讓你能夠通過SQL語句進行pandas的操作的python包
    這篇文章將介紹一種在pandas的dataframe中使用SQL的python包,並且使用一個不等連結的查詢操作來介紹PandasSQL的使用方法。不等連接(Non-equi join)假設你必須連接兩個dataframe。其中一個顯示了我們對某些商品進行促銷的時間段。第二個是事務Dataframe。
  • python數據分析——pandas導出數據合集
    導入pandas庫:import pandas as pd導入基礎數據:df=pd.read_excel('數據.xlsx')1.將DataFrame寫入csv\txt文件DataFrame.to_csv()常用參數:path_or_buf=None:輸出文件路徑,默認None