相关文章推荐
开心的炒粉  ·  Linker Tools Error ...·  2 年前    · 
骑白马的葡萄  ·  C++中 如何让for ...·  3 年前    · 

1.pandas.drop()

df = df.drop(df[<some boolean condition>].index)

一个例子,删除dataframe中满足条件 x 所在的行:

df_clear = df.drop(df[df['x']<0.01].index)
# 也可以使用多个条件
df_clear = df.drop(df[(df['x']<0.01) | (df['x']>10)].index) #删除x小于0.01或大于10的行
 ref: https://stackoverflow.com/questions/13851535/delete-rows-from-a-pandas-dataframe-based-on-a-conditional-expression-involving
https://www.cnblogs.com/crazyant/p/11557980.html
使用df.drop DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors=‘raise’) 1、labels:要删除的标签,一个或者多个(以list形式); 2、axis:指定哪一个轴,=0删除,=1删除列; 3、columns:指定某一列或者多列(以list形式); 4、level:索引等级,针对多重索引的情况; 5、inplaces:是否替换原来的datafram 用loc过滤df。 “~”表示你想要与你的情况相反。 “:”表示希望保留所有列。 在条件中:“&”表示并,“|”表示或 df_AIS=df_AIS.loc[((df_AIS['航状态']==1)&(df_AIS['航速']!=0)&(df_AIS['时间']!=0)),:] 上述代码表示选取航状态为1,航速不为0,时间不为0的航段 df_AIS=df_AIS.loc[~((df_AIS['航状态']==1)&(df_AIS['航速']!=0 data.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) 1-1 axis确定删除存在缺失值的或者是列 #删除含有缺失值的 axis=0或axis='index’ #删除含有缺失值的列 axis=1或axis='columns’ 本节主要是自己学习pandas的练习,与你分享。导入Pandas与NumPyimport numpy as np import pandas as pd生成Series时,pandas默认生成整数索引,我们尝试一下。s = pd.Series([23,2,5,np.nan,6,9]) s使用时间索引与含有标签的Numpy数组生成DataFramedates = pd.date_range('202... 在工作中我们经常会遇到删除某些不符合条件的数据,而且有时候是删除多条,在这里我提供一个简单的操作拌饭 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中。 data = pd.read_csv("train.csv") for i in range(80, 102, 2): perc = np.percentile(data['area'], i) print(f"{i} percentile of area is {perc}") 某的面积值过大,需要删除。 rows = [x for x in data.index if data.loc[x]['area']>256*256] data2 = dat