来自:
https://stackoverflow.com/questions/13851535/delete-rows-from-a-pandas-dataframe-based-on-a-conditional-expression-involving
To directly answer this question’s original title “How to delete rows from a pandas DataFrame based on a conditional expression” (which I understand is not necessarily the OP’s problem but could help other users coming across this question) one way to do this is to use the drop method:
df = df.drop(some labels)
df = df.drop(df[<some boolean condition>].index)
Example
To remove all rows where column ‘score’ is < 50:
df = df.drop(df[df.score < 50].index)
In place version (as pointed out in comments)
df.drop(df[df.score < 50].index, inplace=True)
Multiple conditions
(see Boolean Indexing)
The operators are: | for or, & for and, and ~ for not. These must be grouped by using parentheses.
To remove all rows where column ‘score’ is < 50 and > 20
df = df.drop(df[(df.score < 50) & (df.score > 20)].index)
来自:https://stackoverflow.com/questions/13851535/delete-rows-from-a-pandas-dataframe-based-on-a-conditional-expression-involvingTo directly answer this question’s original title “How to delete rows f...
在工作中我们经常会遇到删除某些不符合条件的数据,而且有时候是删除多条,在这里我提供一个简单的操作拌饭
Question:删除有2个0以上的行(不包含2个)
1、我们先读取数据
当然这个数据可以从excel或者其他地方读取
df = pd.DataFrame({'a':[1,0,2,1,3],'b':[0,2,1,0,1],'c':[0,2,1,0,0],'d':[1,2,0,0,0]})
2、统计每一行包含0的个数
sums = (df == 0).astype(int).sum(axis=1
df = df.drop('column_name', axis=1)
需要注意的是,默认情况下,删除的是行(即axis=0)。如果想要永久删除,需要将结果赋值回原来的DataFrame中。
2.df.drop(‘columns’,axis=1)
删除不改表原始数据,可以通过重新赋值的方式赋值该数据,axis默认为0,用此函数可以删除行
3.df.drop(‘columns’,axis=1,inplace=‘True’)
改变原始数据
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(12).reshape(3,4), columns=['A', 'B', 'C', 'D'])
2 删除列, 两种方法等价
df.drop(['B', 'C'], axis=1)
df.drop(columns=['B', 'C'])
第一种方法下删除column一定要指定
原文链接:https://blog.csdn.net/shuihupo/article/details/82842524
网上关于dataframe删除指定行的博文较少,看到一篇不错的,转载一下,原文地址:https://blog.csdn.net/shuihupo/article/details/82842524
pandas删除指定行
遇到清洗数据的问题,需要把某一列数据中,那些为指定元素的数...
pandas 中的 drop 方法是很明智的数据清理的方法,它的好处在于:它不改变原有的 df 中的数据,而是返回另一个新的 DataFrame 来存放删除后的数据。
一、drop 的用法
import pandas as pd
import numpy as np
a = list(range(1, 11))
a_reshape = np.array(a).reshape(2, 5).T
b = pd.DataFrame(a_reshape)
print(b)
1. df.d...
用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)
在这里默认:axis=0,指删除index,因此删除columns时要指定axis=1;
inplace=False,默认该删除操作不改变原数据,而是返回一个执行删除操作后的新dataframe;
inplace=True,则会直接在原...
df.drop(df[df['列名'] > 值].index, inplace=True)
其中,df为你的数据框,'列名'为你需要按条件删除的列,值为具体的条件。例如,删除df中'age'列中大于25的数据,可以这样写:
df.drop(df[df['age']>25].index, inplace=True)
这样就可以删除符合条件的行了。