通过这行代码,我试图从数据框中删除一整行,该行在任何列值中都不包含字符串“-->”。
try:
for j in range(len(df)):
flg = 0
for i in df.columns:
if df[i].astype(str).str.contains('-->').iloc[j]:
flg = 1
if flg == 0:
df.drop(df.index[j], axis=0, inplace=True)
except:
pass
这是一个工作代码。问题是我们能否以更优化的方式编写这段代码,因为如果我们在数据帧中有 20K 或更多行,这段代码将花费更多时间。
你可以矢量化:
mask = df.astype(str).apply(lambda column : column.str.contains('-->')).any(axis=1)
df = df[mask]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句