首页 > 解决方案 > 如何从每一行中删除元素?

问题描述

在此处输入图像描述

以上是我的数据,我想从所有行中删除“国际电影”和“独立电影”。

在此处输入图像描述

如果我看到该数据的第一行,它以字符串格式出现,并带有“,”分隔符。如果我使用 split(',') 将每行的每个 str 转换为列表,它就会以这种方式拆分。

在此处输入图像描述

我检查了第一行;

在此处输入图像描述

有空格 ==> 'International Movies' 但如果这是第零个元素,那么它没有空格,请检查某些行。检查下面 ==> '国际电影'

在此处输入图像描述

如果出现“国际电影”,我必须使用两个 if 循环,然后删除它,如果出现“国际电影”,则使用 pop 删除它。但在我的情况下它不起作用。

谁能帮我这个?

检查这个 Google Colab,一切都在那里。你可以在那里给我看。

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

标签: pythonarrayspandaslistnumpy

解决方案


您可以为此尝试基于 re 的拆分,而不是在“,”上拆分。

您可以在此处阅读有关 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']])

推荐阅读