【发布时间】:2021-11-30 19:40:51
【问题描述】:
我想使用以下代码从 Sorte 列中删除我不想在我的数据框 file_df 中包含的带有正则表达式的特定字符串:
file_df = file_df[(file_df.Sorte != 'sonstige') & (file_df.Sorte != 'verauslagte Portokosten')
& (file_df.Sorte != 'erhaltenenzahlung Re vom')
& (file_df.Sorte != 'geleistetenzahlung aus Re-Nr')
& (file_df.Sorte != '^.*Holzkisten geliefert.*$')
& (file_df.Sorte != '^.*Infomaterialktionspakete.*$')
& (file_df.Sorte != '^.*Aloe Vera haben wir nicht im Sortiment.*$')
& (file_df.Sorte != '^.*Anzeigenvorlage Planten ut`norden.*$')]
但不知何故,当我执行这段代码时,这些字符串仍然在数据集中,我不知道为什么。我想链接这个表达式,以免创建太多副本。
【问题讨论】:
-
你这里不是使用正则表达式,而是简单的字符串比较
-
你应该使用 OR '|'反而 ?您的代码似乎在说 Var != 'A' & Var != 'B'。不能同时是 A 和 B。
-
@mozway 如何使用正则表达式比较字符串?
-
@EBDS 由于所有字符串都在“Sorte”列中,我猜想“&”应该作为所有不需要的字符串不应该在剩余数据集中的条件都可以满足,但我可以试试“|”
-
我想可以试试 == 和 "|"因为你想删除它们。然后用~来否定它。
标签: python pandas dataframe operators regular-language