Python Pandas筛选与删除指定列包含特定值的行
本文介绍如何使用Python Pandas库筛选或删除数据框中指定列包含特定值的行。通过isin()函数结合逻辑取反符号~,可以精准提取包含或排除特定数值(如货币代号1)的数据,并演示了多列组合条件下的行删除操作,适用于常见数据清洗场景。
选取或删除指定列包含指定内容的行
选取所有货币代号为1的行
首先读取数据源文件。
source_df= pd.read_excel('EXCEL2019-06-05.xls')查看数据前几行及总行数。
print(source_df.head())
print(len(source_df))筛选出货币代号列中值为1的所有数据记录。
data_ = source_df[source_df['货币代号'].isin([1])]
print(len(data_))
print(data_.head())筛选出货币代号列中不包含值1的数据记录。
重新读取原始数据文件以进行后续操作。
source_df= pd.read_excel('EXCEL2019-06-05.xls')
#通过~取反,选取不包含数字1的行
df1=source_df[~source_df['货币代号'].isin([1])]
df1.head()删除含有特定数值的行
dic={'A':[1,2,3,1],'B':[2,1,1,2]} df=pd.DataFrame(dic)
df 
# 找出包含数值"2“的所有行(要删除的行)
df[df['A'].isin([2]) | df['B'].isin([2])] # "|"表示"或” 
# 删除所有包含数值"2“的行(实际上是用"~"取反得到所有不包含“2的行)
df[~(df['A'].isin([2]) | df['B'].isin([2]))] 
以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









