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为列名)进行筛选,加负号的原因是想删除符合条件的行,不写负号是筛选出符合条件的行


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM