Python Pandas:如果字符串值列表== [无],则从数据框中删除行

阿玛尔·纳西尔(Amal Nasir)|

我的数据框中有一个包含值列表的列。

 Tags
 [marvel, comics, comic, books, nerdy]
 [new, snapchat, version, snap, inc]
 [none]
 [new, york, times, ny, times, nyt, times]
 [today, show, today, show, today]
 [none]
 [mark, wahlberg, marky, mark]

我不知道如何从数据框中删除此[none]列表。我试过了,

 us_videos = us_videos.drop(us_videos.index[us_videos.tags == 'none'])

但这仅在将列转换为字符串时有效。如何实现呢?

海盗

新答案

OP希望'none'从子列表中删除并仅删除行'none'

us_videos.tags.explode().pipe(lambda s: s[s != 'none']).groupby(level=0).agg(list)

0        [marvel, comics, comic, books, nerdy]
1          [new, snapchat, version, snap, inc]
3    [new, york, times, ny, times, nyt, times]
4            [today, show, today, show, today]
6                [mark, wahlberg, marky, mark]
Name: tags, dtype: object

更加Python化的方式

dat = {}
for k, v in us_videos.tags.iteritems():
    for x in v:
        if x != 'none':
            dat.setdefault(k, []).append(x)

pd.Series(dat, name='tags')

0        [marvel, comics, comic, books, nerdy]
1          [new, snapchat, version, snap, inc]
3    [new, york, times, ny, times, nyt, times]
4            [today, show, today, show, today]
6                [mark, wahlberg, marky, mark]
Name: tags, dtype: object

具有赋值表达式的理解

pd.Series({
    k: X for k, v in us_videos.tags.iteritems()
    if (X:=[*filter('none'.__ne__, v)])
}, name='tags')

0        [marvel, comics, comic, books, nerdy]
1          [new, snapchat, version, snap, inc]
3    [new, york, times, ny, times, nyt, times]
4            [today, show, today, show, today]
6                [mark, wahlberg, marky, mark]
Name: tags, dtype: object

老答案

explode

us_videos[us_videos.tags.explode().ne('none').any(level=0)]

                                        tags
0      [marvel, comics, comic, books, nerdy]
1        [new, snapchat, version, snap, inc]
3  [new, york, times, ny, times, nyt, times]
4          [today, show, today, show, today]
6              [mark, wahlberg, marky, mark]

list.__ne__

us_videos[us_videos.tags.map(['none'].__ne__)]

                                        tags
0      [marvel, comics, comic, books, nerdy]
1        [new, snapchat, version, snap, inc]
3  [new, york, times, ny, times, nyt, times]
4          [today, show, today, show, today]
6              [mark, wahlberg, marky, mark]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果匹配的字符串超过某个值,则从 Pandas 数据框中删除行

来自分类Dev

如果某一列与值匹配,则从数据框中删除行-Python 3.6

来自分类Dev

Python pandas 数据框:在数组列中,如果第一个项目包含特定字符串,则从数组中删除该项目

来自分类Dev

Python Pandas:如果groupby中任何前面的行中的值满足特定条件,则从数据框中删除一行

来自分类Dev

如果有 2 个字符串,则从 Pandas 数据框中删除行

来自分类Dev

在python 3.4.1中删除具有字符串值的熊猫数据框的行

来自分类Dev

python:删除pandas数据框中包含字符串的所有行

来自分类Dev

python:删除pandas数据框中包含字符串的所有行

来自分类Dev

Python Pandas Dataframe-如果索引日期早于特定日期,则从数据框中删除数据

来自分类Dev

如果列值(字符串)包含python集合中的任何值,如何过滤数据框行?

来自分类Dev

如果列值(字符串)包含python集合中的任何值,如何过滤数据框行?

来自分类Dev

在 Python/Pandas 中,检查逗号分隔的字符串是否包含列表中的任何值

来自分类Dev

如果列表中的子字符串,python替换字符串中的子字符串// pythonic方式

来自分类Dev

如果存在,则从 python 字符串中删除最后一个和

来自分类Dev

从列表中搜索数据框列中的部分字符串匹配-Pandas-Python

来自分类Dev

从列表中搜索数据框列中的部分字符串匹配-Pandas-Python

来自分类Dev

在Python中添加列表/字符串ord()值

来自分类Dev

在Python中添加列表/字符串ord()值

来自分类Dev

如果加在一起的值小于x,则从数据框中删除行

来自分类Dev

如果它们包含某个值(R,dplyr),则从数据框中删除行

来自分类Dev

如果满足某些GroupBy条件,则从原始Pandas数据框中删除行

来自分类Dev

在pandas的列中搜索列表,如果找到则返回字符串值,否则返回null

来自分类Dev

如果另一个文件的Python列表中的字符串删除对象

来自分类Dev

如何删除 Python 数据框单元格内的字符串中的重复值

来自分类Dev

从数据框python中的某些位置删除缺少值的行

来自分类Dev

如果不在列表中,则熊猫替换字符串值

来自分类Dev

如果项目不在列表中,则从 Pandas 数据框中删除项目

来自分类Dev

Python 2.7:如何从pandas数据框中的字符串中识别唯一的字符串,并根据结果在指定的列中打印指定的值?

来自分类Dev

如果项目在python中具有特定字符串,如何提取列表中的项目?

Related 相关文章

  1. 1

    如果匹配的字符串超过某个值,则从 Pandas 数据框中删除行

  2. 2

    如果某一列与值匹配,则从数据框中删除行-Python 3.6

  3. 3

    Python pandas 数据框:在数组列中,如果第一个项目包含特定字符串,则从数组中删除该项目

  4. 4

    Python Pandas:如果groupby中任何前面的行中的值满足特定条件,则从数据框中删除一行

  5. 5

    如果有 2 个字符串,则从 Pandas 数据框中删除行

  6. 6

    在python 3.4.1中删除具有字符串值的熊猫数据框的行

  7. 7

    python:删除pandas数据框中包含字符串的所有行

  8. 8

    python:删除pandas数据框中包含字符串的所有行

  9. 9

    Python Pandas Dataframe-如果索引日期早于特定日期,则从数据框中删除数据

  10. 10

    如果列值(字符串)包含python集合中的任何值,如何过滤数据框行?

  11. 11

    如果列值(字符串)包含python集合中的任何值,如何过滤数据框行?

  12. 12

    在 Python/Pandas 中,检查逗号分隔的字符串是否包含列表中的任何值

  13. 13

    如果列表中的子字符串,python替换字符串中的子字符串// pythonic方式

  14. 14

    如果存在,则从 python 字符串中删除最后一个和

  15. 15

    从列表中搜索数据框列中的部分字符串匹配-Pandas-Python

  16. 16

    从列表中搜索数据框列中的部分字符串匹配-Pandas-Python

  17. 17

    在Python中添加列表/字符串ord()值

  18. 18

    在Python中添加列表/字符串ord()值

  19. 19

    如果加在一起的值小于x,则从数据框中删除行

  20. 20

    如果它们包含某个值(R,dplyr),则从数据框中删除行

  21. 21

    如果满足某些GroupBy条件,则从原始Pandas数据框中删除行

  22. 22

    在pandas的列中搜索列表,如果找到则返回字符串值,否则返回null

  23. 23

    如果另一个文件的Python列表中的字符串删除对象

  24. 24

    如何删除 Python 数据框单元格内的字符串中的重复值

  25. 25

    从数据框python中的某些位置删除缺少值的行

  26. 26

    如果不在列表中,则熊猫替换字符串值

  27. 27

    如果项目不在列表中,则从 Pandas 数据框中删除项目

  28. 28

    Python 2.7:如何从pandas数据框中的字符串中识别唯一的字符串,并根据结果在指定的列中打印指定的值?

  29. 29

    如果项目在python中具有特定字符串,如何提取列表中的项目?

热门标签

归档