欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python:按列条件筛选、删除DataFrame中满足列条件的行

程序员文章站 2022-07-12 14:12:20
...

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

pandas删除指定行

遇到清洗数据的问题,需要把某一列数据中,那些为指定元素的数据,整行去除
尝试了 drop 却不能到达理想的效果,drop 仅仅删除了第一个。
此时用 isin 效果理想。

import pandas as pd
df = pd.DataFrame({"key":['green','red', 'blue'],
            "data1":['a','b','c'],"sorce": [33,61,99]})
  data1         sorce
0     a  green     33
1     b    red     61
2     c   blue     99
import pandas as pd
df = pd.DataFrame({"key":['green','red', 'blue'],
            "data1":['a','b','c'],"sorce": [33,61,99]})
data1 = pd.concat([df,df],ignore_index=True)
data2=data1[-data1.sorce.isin([61])]
print("---------------")
print(data1)
print("---------------")
print(data2)
print("---------------")
data3=data1.drop(data1.ix[:,'sorce']==61)
print(data3)
---------------
  data1    key  sorce
0     a  green     33
1     b    red     61
2     c   blue     99
3     a  green     33
4     b    red     61
5     c   blue     99
---------------
  data1    key  sorce
0     a  green     33
2     c   blue     99
3     a  green     33
5     c   blue     99
---------------
  data1    key  sorce
2     c   blue     99
3     a  green     33
4     b    red     61
5     c   blue     99

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

对dataframe的某列(name为列名)进行筛选,加负号(或~)的原因是想删除符合条件的行,不加负号(或~)是筛选出符合条件的行
————————————————
版权声明:本文为CSDN博主「水…琥珀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shuihupo/article/details/82842524