pandas中遍歷dataframe的每一個元素的實現

 更新時間:2019年10月23日 14:36:04   作者:TheoldmanPickgarbage   我要評論
這篇文章主要介紹了pandas中遍歷dataframe的每一個元素的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

假如有一個需求場景需要遍歷一個csv或excel中的每一個元素,判斷這個元素是否含有某個關鍵字

那么可以用python的pandas庫來實現。

方法一:

pandas的dataframe有一個很好用的函數applymap,它可以把某個函數應用到dataframe的每一個元素上,而且比常規的for循環去遍歷每個元素要快很多。如下是相關代碼:

import pandas as pd
data = [["str","ewt","earw"],["agter","awetg","aeorgh"]]
dataframe1 = pd.DataFrame(data=data,columns=["name1","name2","name3"])
print(dataframe1)
bool_array = dataframe1.applymap(lambda x:"w" in x)
out_array = dataframe1[bool_array]
print(out_array)
 
>>
  name1 name2  name3
0  str  ewt  earw
1 agter awetg aeorgh
 
 name1 name2 name3
0  NaN  ewt earw
1  NaN awetg  NaN

代碼中,bool_array為一個邏輯矩陣,滿足條件元素的位置為true,否則為false。然后通過邏輯矩陣去索引dataframe1,就可以得出滿足條件的元素。

方法二:

第一種方法是一次性遍歷每個元素,這樣不好分column去處理,那換一種方式可以每次遍歷一列

#接上面代碼
file_columns = dataframe1.columns.tolist()
for column in file_columns:
  bool_index = dataframe1[column].str.contains("w")
  filter_data = dataframe1[column][bool_index]
  print(filter_data)
 
>>
Series([], Name: name1, dtype: object)
0   ewt
1  awetg
Name: name2, dtype: object
0  earw
Name: name3, dtype: object

代碼種 Series.str.contains 是 Series 才有的一個操作。另外,filter_data只輸出每一列中滿足條件的元素,更方便下一步的操作。

簡單說明:

針對pandas的dataframe和series,有強大的高階函數:apply,applymap和map函數等,它們比簡單的for循環要快很多,善用這些高階函數會讓你事半功倍。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python 查看文件的讀寫權限方法

    Python 查看文件的讀寫權限方法

    下面小編就為大家分享一篇Python 查看文件的讀寫權限方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • python創建文件時去掉非法字符的方法

    python創建文件時去掉非法字符的方法

    今天小編就為大家分享一篇python創建文件時去掉非法字符的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python scipy求解非線性方程的方法(fsolve/root)

    python scipy求解非線性方程的方法(fsolve/root)

    今天小編就為大家分享一篇python scipy求解非線性方程的方法(fsolve/root),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python中的reduce內建函數使用方法指南

    python中的reduce內建函數使用方法指南

    python中的reduce內建函數是一個二元操作函數,他用來將一個數據集合(鏈表,元組等)中的所有數據進行下列操作:用傳給reduce中的函數 func()(必須是一個二元操作函數)先對集合中的第1,2個數據進行操作,得到的結果再與第三個數據用func()函數運算,最后得到一個結果
    2014-08-08
  • Python入門篇之對象類型

    Python入門篇之對象類型

    本章中我們將講述Python的對象類型,包括數字、整型、布爾型、長整形、浮點型、復數型、字符串、列表、元組、字典等。
    2014-10-10
  • Python中的列表生成式與生成器學習教程

    Python中的列表生成式與生成器學習教程

    這篇文章主要介紹了Python中的列表生成式與生成器學習教程,Python中的Generator生成器比列表生成式功能更為強大,需要的朋友可以參考下
    2016-03-03
  • Python實現FTP弱口令掃描器的方法示例

    Python實現FTP弱口令掃描器的方法示例

    這篇文章主要介紹了Python實現FTP弱口令掃描器的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Django rstful登陸認證并檢查session是否過期代碼實例

    Django rstful登陸認證并檢查session是否過期代碼實例

    這篇文章主要介紹了Django rstful登陸認證并檢查session是否過期代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 詳解Tensorflow數據讀取有三種方式(next_batch)

    詳解Tensorflow數據讀取有三種方式(next_batch)

    本篇文章主要介紹了Tensorflow數據讀取有三種方式(next_batch),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • Python下載指定頁面上圖片的方法

    Python下載指定頁面上圖片的方法

    這篇文章主要介紹了Python下載指定頁面上圖片的方法,涉及Python的正則匹配、URL及文件操作相關技巧,需要的朋友可以參考下
    2016-05-05

最新評論

2019开奖结果