我有一个包含一些要删除的列的dataframe。如果找到指定的文本,我已经知道如何删除列,如下所示:
df.drop(columns=[col for col in df.columns if 'text.'in str(col)],inplace=True)我还想删除在全文中包含不同模式的各栏,如下:
"text.Corolary.sub.ramdon.sta","text.paint.ss1b.docto.not.sta“
我想删除所有包含"text."但也包含".sta"的列。如何将它与文本的其余部分独立地合并在同一个命令中呢?
发布于 2020-02-28 12:28:54
将boolean indexing与DataFrame.loc结合使用,掩码链由&进行按位AND,最后一次滤波用~反向掩码。
m1 = df.columns.str.contains('text')
m2 = df.columns.str.contains('\.sta')
#alternative
#m2 = df.columns.str.contains('.sta', regex=False)
mask = m1 & m2
df = df.loc[:, ~mask]https://stackoverflow.com/questions/60451607
复制相似问题