gpt4 book ai didi

python - 如何删除包含字符串的 pandas 表的特定子字符串

转载 作者:太空宇宙 更新时间:2023-11-03 16:36:58 25 4
gpt4 key购买 nike

我有一个包含 373 行 * 3 列数据的 CSV 文件(我认为默认情况下它是一个 DataFrame),我为此使用了 Pandas。在某些数据框的末尾,有一些字母(子字符串)我想删除,然后将更新后的表存储在新名称下。我在做这件事时遇到了很多麻烦。我尝试将表的列单独存储为字符串,然后将这些不需要的子字符串替换为空('')。它不起作用,现在我迷路了!请帮忙!!这就是我尝试过的:将表拆分为列,然后替换

import pandas as pd

loss=pd.read_csv('Loss.csv')

eq1_list=str(loss.ix[:,0])

eq2_list=str(loss.ix[:,1])

eq3_list=str(loss.ix[:,2])

for eq in eq1_list:
eq.replace('.fail','')
eq.replace('.fail2','')

print(eq1_list)

如您所见,“.fail”和“.fail2”是 pandas 表中的子字符串,这些子字符串出现在整个 373*3 表中的许多元素中。该方法没有删除子字符串。输入示例:

     EQ1     EQ2        EQ3
0 A1.fail A2.fail NaN
1 B1.fail2 B3.fail B3.fail2
...
372 X1.fail X2.fail2 X3.fail

预期输出:

A1 A2 NaN
B1 B3 B3
...
X1 X2 X3

最佳答案

使用 DataFrame.replace 比您想象的要容易得多:

new_loss = loss.replace('\.fail.?$', '', regex=True)

这将删除任何与“.failX”匹配的字符串后缀,其中 X 可以是任何内容(或什么都不是)。

replace方法非常强大并且有很多选项。我鼓励您阅读该文档(上面链接)。

关于python - 如何删除包含字符串的 pandas 表的特定子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37121672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com