簡體   English   中英

如何從每一行中刪除元素?

[英]How I can remove element from each row?

在此處輸入圖像描述

以上是我的數據,我想從所有行中刪除“國際電影”和“獨立電影”。

在此處輸入圖像描述

如果我看到該數據的第一行,它以字符串格式出現,並帶有“,”分隔符。 如果我使用 split(',') 將每行的每個 str 轉換為列表,它就會以這種方式拆分。

在此處輸入圖像描述

我檢查了第一行;

在此處輸入圖像描述

有空格 ==> 'International Movies' 但如果這是第零個元素,那么它沒有空格,請檢查某些行。 檢查下面 ==> '國際電影'

在此處輸入圖像描述

如果出現“國際電影”,我必須使用兩個 if 循環,然后刪除它,如果出現“國際電影”,則使用 pop 刪除它。 但在我的情況下它不起作用。

誰能幫我這個?

檢查這個 Google Colab,一切都在那里。 你可以在那里給我看。

https://colab.research.google.com/drive/1lq68InH5gBt2T6G1LkWMrRNHzljxlifw?usp=sharing

您可以為此嘗試基於 re 的拆分,而不是在“,”上拆分。

你可以在這里閱讀: https://docs.python.org/3/library/re.html

import re
df.Genre.apply(
    lambda x: re.split('\s*,\s*', x)).apply(
        lambda x: [e for e in x if e not in [ 'International Movies', 'Independent Movies']])

盡可能避免.apply ,因為它對於大型數據集非常慢。 而是使用另一個pandas工具。 在這種情況下,這可以通過pandas.Series.str.replace來實現:

df.Genre.str.replace(", (International|Independent) Movies", '')

請注意,我正在利用目標字符串(顯然)僅位於中心或末尾的事實。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM