KDIDS 2021-08-08 06:39 采纳率: 45.5%
浏览 34
已结题

python如何获取boolean index,并删除该index对应的行

我有一个表,有一列是电影的语言,里面的内容如下
English,Sinhalese,Hindi
English,French
English,Cantonese
English,Portuguese,French,Japanese
English
English,German,French
English,Spanish,French
English,French

我要只保留含有French的行,其他的行都删除。
我的思路是这样的 先创建一个不包含‘French’的boolean index
然后再用这个index把相关的列删除,建一个新表。

请问用python的numpy pandas怎么写。需要详细语法。

  • 写回答

3条回答 默认 最新

  • CSDN专家-HGJ 2021-08-08 07:20
    关注

    使用pandas中的str.contains方法比较容易些,参考代码如下:

    import pandas as pd 
    
    df = pd.DataFrame({'cty': ['English, Sinhalese, Hindi',
                              'English, French',
                              'English, Cantonese',
                              'English, Portuguese French, Japanese',
                              'English',
                              'English, German, French',
                              'English, Spanish, French',
                              'English, French']})
    print(df)
    df1=df[df['cty'].str.contains('French')].reset_index().drop(['index'],axis=1)
    print(df1)
    #写入新的表格文件
    df1.to_excel('abc.xlsx',index=False)
    

    运行结果:

                      cty
    0                       English, French
    1  English, Portuguese French, Japanese
    2               English, German, French
    3              English, Spanish, French
    4                       English, French
    

    如对你有帮助,请点击我回答的右上方采纳按钮,采纳支持一下~~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    KDIDS 2021-08-09 07:54

    尝试了一下

    movie_french_only = movie_details[movie_details['Language'].str.contains('French')].reset_index().drop(['index'],axis=1)
    

    报错了ValueError: cannot mask with array containing NA / NaN values

    回复
    KDIDS 2021-08-09 07:54

    尝试了一下

    movie_french_only = movie_details[movie_details['Language'].str.contains('French')].reset_index().drop(['index'],axis=1)
    

    报错了ValueError: cannot mask with array containing NA / NaN values

    回复
    CSDN专家-HGJ 回复 KDIDS 2021-08-09 08:30

    你的movie_details['Language']数组中有NaN值,需要先dropna处理一下

    回复
    展开全部4条评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 8月16日
  • 已采纳回答 8月9日
  • 创建了问题 8月8日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部