python-3.x Pandas从不包含子字符串的列中的字符串中删除字符

km0tfn4u  于 2023-02-26  发布在  Python
关注(0)|答案(1)|浏览(167)

我想删除不包含“BC”的 Dataframe 的列的每个单元格中的“-”。我不知道如何调整以下代码,以“不包含”而不是“包含”。请提供任何帮助。
slate['start'] = slate['start'].astype(str).str.findall('BC'.replace("-",""))这适用于以下情况的逆情况:如果单元格包含Z,则用y替换x。
slate['start'] = slate['start'].astype(str).str.findall(~'BC'.replace("-",""))然后我添加了波浪号(我很沮丧),它显然没有为字符串派生-它产生了一个TypeError。我不知道有什么简洁的方法来实现它。
我的df是这种“风格”
名称自治市开始结束ext x y
0阿尔塔富拉昏迷-200公元125公元1.74 1.379991 41.154995

evrscar2

evrscar21#

可以使用pd.Series.where(),它将条件(第一个参数)为false的值替换为第二个参数中的值:

slate.start.where(slate.start.str.contains('BC'),
                  slate.start.str.replace('-', ''), 
                  inplace=True)

相关问题