• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Robin_Yao_Wenbin

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

python dataframe删除指定的行

网上关于dataframe删除指定行的博文较少,看到一篇不错的,转载一下,原文地址:https://blog.csdn.net/shuihupo/article/details/82842524

遇到清洗数据的问题,需要把某一列数据中,那些为指定元素的数据,整行去除

尝试了drop却不能到达理想的效果,drop仅仅删除了第一个。

isin效果理想。

  1. import pandas as pd
  2. df = pd.DataFrame({"key":['green','red', 'blue'],
  3. "data1":['a','b','c'],"sorce": [33,61,99]})
  1. data1 key sorce
  2. 0 a green 33
  3. 1 b red 61
  4. 2 c blue 99
  1. mport pandas as pd
  2. df = pd.DataFrame({"key":['green','red', 'blue'],
  3. "data1":['a','b','c'],"sorce": [33,61,99]})
  4. data1 = pd.concat([df,df],ignore_index=True)
  5. data2=data1[-data1.sorce.isin([61])]
  6. print("---------------")
  7. print(data1)
  8. print("---------------")
  9. print(data2)
  10. print("---------------")
  11. data3=data1.drop(data1.ix[:,'sorce']==61)
  12. print(data3)
  1. ---------------
  2. data1 key sorce
  3. 0 a green 33
  4. 1 b red 61
  5. 2 c blue 99
  6. 3 a green 33
  7. 4 b red 61
  8. 5 c blue 99
  9. ---------------
  10. data1 key sorce
  11. 0 a green 33
  12. 2 c blue 99
  13. 3 a green 33
  14. 5 c blue 99
  15. ---------------
  16. data1 key sorce
  17. 2 c blue 99
  18. 3 a green 33
  19. 4 b red 61
  20. 5 c blue 99
  21. Process finished with exit code 0

data.name.isin([筛选元素])

对dataframe的某列(name为列名)进行筛选,加负号的原因是想删除符合条件的行,不写负号是筛选出符合条件的行

posted on 2019-02-08 10:44  Robin_Yao_Wenbin  阅读(13641)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3