drop()函数
1 删除前务必指定columns或index,避免出错.删除index多的时候可以考虑用isin()函数.
import pandas as pd df = pd.DataFrame({'a':[1,2,3], 'b':[3,4,5], 'c':[5,6,7]}) # 删除列 删除多列是加['a','b'] df.drop(columns='a', inplace=True) print(df) # 删除行 df.drop(index=[1,2], inplace=True) print(df) # b c # 0 3 5 # 1 4 6 # 2 5 7 # b c # 0 3 5
参考:https://www.bbsmax.com/A/Vx5MwBX7zN/
isin()函数
isin()接受一个列表,判断该列中元素是否在列表中.注意isin()函数返回的是布尔索引.
import pandas as pd df = pd.DataFrame({'a':[1,7,7,4,5], 'b':[6,7,8,9,7]}) # 直接返回的是布尔索引,无法直接应用 a = df['b'].isin([7]) print(a) # 也可以直接对df所有的元素进行寻找,返回每个元素的布尔值 b = df.isin([7]) print(b) # 按某一列条件筛选 c = df[df['b'].isin([7])] print(c) # 同时对多个列过滤,可以如下使用,df[df[某列].isin(条件)&df[某列].isin(条件)] # 筛选出不含7的行 d = df[~df['a'].isin([7]) & ~df['b'].isin([7])] print(d) # 0 False # 1 True # 2 False # 3 False # 4 True # Name: b, dtype: bool # a b # 0 False False # 1 True True # 2 True False # 3 False False # 4 False True # a b # 1 7 7 # 4 5 7 # a b # 0 1 6 # 3 4 9
delete()函数
import numpy as np a = [1,2,3] # 0是要删除的元素的索引 a = np.delete(a, 0) print(a)