如果 Pandas DataFrame 不包含某些子字符串

Posted

技术标签:

【中文标题】如果 Pandas DataFrame 不包含某些子字符串【英文标题】:Pandas DataFrame if it doesn't contain certain substrings 【发布时间】:2022-01-18 04:28:30 【问题描述】:

我正在创建一个程序来按类别了解我的费用。但是,我不可能写下我使用卡的每个地方,所以最后我想将所有在“类别”列中没有设置类别名称的交易分类为“其他”。

以下是我尝试做的方法,搜索了解决方案,有些人只是告诉在动作前面鞭打〜以使其做相反的事情。像常规否定一样。不工作。这里的最佳解决方案是什么?

我的想法是,只要类别不是娱乐、小额投资等,该行中的类别列单元格将设置为“其他”。

df['Category'] = np.where(~df['Category'].str.contains('Entertainment|Microinvestments|Food|Transport|Transfers|Cash|Bills|Apparel|Consumer goods|Services', case=False), 'Other', df['Category'])

【问题讨论】:

【参考方案1】:

试试这个:

df.loc[~df['Category'].str.contains('Entertainment|Microinvestments|Food|Transport|Transfers|Cash|Bills|Apparel|Consumer goods|Services', case=False), 'Category'] = 'Other'

【讨论】:

以上是关于如果 Pandas DataFrame 不包含某些子字符串的主要内容,如果未能解决你的问题,请参考以下文章

如果值是字符串,Pandas DataFrame会执行某些操作

如果存在与数据中的某些条件匹配的另一行,则从pandas DataFrame中查找行

编写检查所有pandas DataFrame列值是否满足某个值?

在不使用索引的情况下替换 pandas DataFrame 中选定单元格的值

用 Pandas 将 DataFrame 中某些列和行的值替换为同一 DataFrame 中另一列的值

pandas基于dataframe字符串数据列不包含特定字符串来筛选dataframe中的数据行(rows where values do not contain substring)