Python 如果字符串匹配,则删除数据帧行
如果一行不是以LM开头,我想删除它_ 还尝试:Python 如果字符串匹配,则删除数据帧行,python,pandas,dataframe,Python,Pandas,Dataframe,如果一行不是以LM开头,我想删除它_ 还尝试: def clean_doc (df): for rownum in range(0,df.shape[0]): if "LM_" not in df.iloc[rownum][6]: clean_df = df.drop([df.index[rownum]]) return clean_df 还有更多,但它只删除了我的数据集的一行。。但是它应该更多您可以尝试: df.drop([rownum]) 输出: impo
def clean_doc (df):
for rownum in range(0,df.shape[0]):
if "LM_" not in df.iloc[rownum][6]:
clean_df = df.drop([df.index[rownum]])
return clean_df
还有更多,但它只删除了我的数据集的一行。。但是它应该更多您可以尝试:
df.drop([rownum])
输出:
import pandas as pd
df = pd.DataFrame({'col':['abc', 'LM_abc']})
print(df[df['col'].str.startswith('LM_')])
您的代码只删除了一行,因为每次循环时您都会覆盖clean_df变量。我想OP需要df[~df[].str.startswith'LM_']来代替。@HenryYik我想恰恰相反,OPs代码是删除不包含LM的行_
import pandas as pd
df = pd.DataFrame({'col':['abc', 'LM_abc']})
print(df[df['col'].str.startswith('LM_')])
col
1 LM_abc