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

Pandas DataFrame中的tuple元素遍歷的實(shí)現(xiàn)

 更新時(shí)間:2019年10月23日 11:47:14   作者:小曉醬  
這篇文章主要介紹了Pandas DataFrame中的tuple元素遍歷的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

pandas中遍歷dataframe的每一個(gè)元素

假如有一個(gè)需求場(chǎng)景需要遍歷一個(gè)csv或excel中的每一個(gè)元素,判斷這個(gè)元素是否含有某個(gè)關(guān)鍵字

那么可以用python的pandas庫(kù)來(lái)實(shí)現(xiàn)。

方法一:

pandas的dataframe有一個(gè)很好用的函數(shù)applymap,它可以把某個(gè)函數(shù)應(yīng)用到dataframe的每一個(gè)元素上,而且比常規(guī)的for循環(huán)去遍歷每個(gè)元素要快很多。如下是相關(guān)代碼:

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為一個(gè)邏輯矩陣,滿足條件元素的位置為true,否則為false。然后通過(guò)邏輯矩陣去索引dataframe1,就可以得出滿足條件的元素。

方法二:

第一種方法是一次性遍歷每個(gè)元素,這樣不好分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 才有的一個(gè)操作。另外,filter_data只輸出每一列中滿足條件的元素,更方便下一步的操作。

簡(jiǎn)單說(shuō)明:

針對(duì)pandas的dataframe和series,有強(qiáng)大的高階函數(shù):apply,applymap和map函數(shù)等,它們比簡(jiǎn)單的for循環(huán)要快很多,善用這些高階函數(shù)會(huì)讓你事半功倍。

Pandas DataFrame中的tuple元素遍歷

在用Word2vec計(jì)算出詞語(yǔ)的相似度之后,得到的DataFrame格式如下:

1. 索引(index)為輸入的關(guān)鍵詞,從第0列開(kāi)始為相似度最高的詞語(yǔ)和它的余弦相似度。

2. 這個(gè)DataFrame 中每一個(gè)元素,比如(通話, 0.21321064233779907)的格式為tuple。

輸入數(shù)據(jù):

                            0                           1 
銀行  (通話, 0.21321064233779907)   (鉆石卡, 0.1743093729019165)  
手機(jī)  (想要, 0.21755412220954895)   (長(zhǎng)時(shí)間, 0.16086308658123016)

期望輸出的數(shù)據(jù)

1. 只取相似度最高的詞語(yǔ),丟棄余弦相似度。

2. 把關(guān)鍵詞從索引中取出來(lái),單獨(dú)作為1列。

期望輸出:

 核心關(guān)鍵詞   0    1 
0    銀行  通話  鉆石卡 
1    手機(jī)  想要  長(zhǎng)時(shí)間

Python 實(shí)現(xiàn)的代碼:

主要使用1)applymap,2)lambda,3)reset_index,4)rename

import pandas as pd
 
s_df_untuple = s_df.applymap(lambda x: x[0]) # 對(duì)dataframe中所有元素,只取tuple中的第0個(gè)
s_df_untuple = s_df_untuple.reset_index() # 把索引變?yōu)閱为?dú)的一列
s_df_untuple.rename(columns={"index": '核心關(guān)鍵詞'}, inplace=True) # 對(duì)索引這一列重命名

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

相關(guān)文章

  • Python使用scapy模塊發(fā)包收包

    Python使用scapy模塊發(fā)包收包

    這篇文章主要介紹了Python如何使用scapy模塊發(fā)包收包,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-05-05
  • 解決python logging遇到的坑 日志重復(fù)打印問(wèn)題

    解決python logging遇到的坑 日志重復(fù)打印問(wèn)題

    這篇文章主要介紹了解決python logging遇到的坑 日志重復(fù)打印問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Pycharm 2019 破解激活方法圖文詳解

    Pycharm 2019 破解激活方法圖文詳解

    這篇文章主要介紹了Pycharm 2019 破解激活方法圖文詳解,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 使用python實(shí)現(xiàn)tcp自動(dòng)重連

    使用python實(shí)現(xiàn)tcp自動(dòng)重連

    下面小編就為大家?guī)?lái)一篇使用python實(shí)現(xiàn)tcp自動(dòng)重連實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。
    2017-07-07
  • Python根據(jù)服務(wù)獲取端口號(hào)的方法

    Python根據(jù)服務(wù)獲取端口號(hào)的方法

    這篇文章主要介紹了Python根據(jù)服務(wù)獲取端口號(hào),文中給大家提到了linux查看端口開(kāi)啟端口的方法,需要的朋友可以參考下
    2019-09-09
  • Python爬蟲(chóng)回測(cè)股票的實(shí)例講解

    Python爬蟲(chóng)回測(cè)股票的實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于Python爬蟲(chóng)回測(cè)股票的實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-01-01
  • python實(shí)現(xiàn)LRU熱點(diǎn)緩存及原理

    python實(shí)現(xiàn)LRU熱點(diǎn)緩存及原理

    LRU算法根據(jù)數(shù)據(jù)的歷史訪問(wèn)記錄來(lái)進(jìn)行淘汰數(shù)據(jù),其核心思想是“如果數(shù)據(jù)最近被訪問(wèn)過(guò),那么將來(lái)被訪問(wèn)的幾率也更高”。 。這篇文章主要介紹了python實(shí)現(xiàn)LRU熱點(diǎn)緩存,需要的朋友可以參考下
    2019-10-10
  • python基礎(chǔ)面試題整理

    python基礎(chǔ)面試題整理

    這篇文章主要介紹了python基礎(chǔ)面試題整理,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 詳解python持久化文件讀寫(xiě)

    詳解python持久化文件讀寫(xiě)

    這篇文章主要介紹了python持久化文件讀寫(xiě),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python獲取網(wǎng)頁(yè)狀態(tài)碼示例

    python獲取網(wǎng)頁(yè)狀態(tài)碼示例

    這篇文章主要介紹了python獲取網(wǎng)頁(yè)狀態(tài)碼示例,只需要2行代碼就可實(shí)現(xiàn)想要的功能,需要的朋友可以參考下
    2014-03-03

最新評(píng)論