如果 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)