Python 替换列中的图案

Python 替换列中的图案,python,pandas,Python,Pandas,我正在清理一些文本,删除停止词和额外的标点符号。我发现大多数文本中都有重复的模式,最后是---(三个破折号) 比如说 Text it is a wonderful day --- What's up?--- Hi guys, everything is going ok. What do --- you think? -- 预期产出为 Text it is a wonderful day What's up? Hi guys, everything is going ok. What do -

我正在清理一些文本,删除停止词和额外的标点符号。我发现大多数文本中都有重复的模式,最后是---(三个破折号)

比如说

Text
it is a wonderful day ---
What's up?---
Hi guys, everything is going ok.
What do --- you think? --
预期产出为

Text
it is a wonderful day
What's up?
Hi guys, everything is going ok.
What do --- you think? --
我应该用一个空格替换行末尾的-,并计算列中有多少个事例。 我认为我应该考虑使用EnthSub()(<代码> df[文本] ]。STR.EnthsAs'('-')< /C> >,然后用空的空间替换它。
如果我想数一数有多少行/句子以“-”结尾,我该怎么做呢?

看看这个,它会给你一些进一步的想法

string = """
It is a wonderful day ---
What's up?---
Hi guys, everything is going ok.
What do --- you think? --"""

puntuations = ['-']
rsult = []
for x in string.split(' '):
    for pun in puntuations:
        if pun in x:
            x = x.replace(pun, '')
            rsult.append(x)
        else:
            rsult.append(x)

print(' '.join(rsult))

看看这个,它会给你一些进一步的想法

string = """
It is a wonderful day ---
What's up?---
Hi guys, everything is going ok.
What do --- you think? --"""

puntuations = ['-']
rsult = []
for x in string.split(' '):
    for pun in puntuations:
        if pun in x:
            x = x.replace(pun, '')
            rsult.append(x)
        else:
            rsult.append(x)

print(' '.join(rsult))

如果我理解正确,一个简单的正则表达式和
.value\u counts
就可以了

如果我想数一数有多少行/句子以---结尾,我怎么能做到

我应该用一个空的空格替换行末尾的-

正则表达式演示

---匹配字符---按字面意思(区分大小写)

$断言行末尾的位置


如果我理解正确,一个简单的正则表达式和
.value\u counts
就可以了

如果我想数一数有多少行/句子以---结尾,我怎么能做到

我应该用一个空的空格替换行末尾的-

正则表达式演示

---匹配字符---按字面意思(区分大小写)

$断言行末尾的位置


Hi Prakash,不幸的是,提议的代码没有回答我的问题。我不应该把所有的——但是——都换掉,而且只有当它们在这一行的末尾时。例如,在最后一句话中,我应该仍然有-,并且-,就像在最后我只有-(而不是-),并且句子中的三个-,应该保留,因为它们不在最后。我可以替换列中的所有符号,但不仅仅是那些满足特定模式的符号。感谢您的帮助Hi Prakash,不幸的是,提议的代码没有回答我的问题。我不应该把所有的——但是——都换掉,而且只有当它们在这一行的末尾时。例如,在最后一句话中,我应该仍然有-,并且-,就像在最后我只有-(而不是-),并且句子中的三个-,应该保留,因为它们不在最后。我可以替换列中的所有符号,但不仅仅是那些满足特定模式的符号。谢谢您的帮助,所以您只想在结尾处替换
--
?是的,如果可能的话。您只想在结尾处替换
--
?是的,如果可能的话。谢谢,马纳金。只有一件事:我没有计算总共有多少个,而是考虑在有该模式的地方分配1/0值。这件事容易做吗?是的
df['count']=df['Text'].str.contains('--$).astype(int)
:)@valthanke,Manakin。只有一件事:我没有计算总共有多少个,而是考虑在有该模式的地方分配1/0值。这件事容易做吗?是的
df['count']=df['Text'].str.contains('--$).astype(int)
:)@Val
df['Text'] = df['Text'].str.replace('---$','')

                               Text
0            it is a wonderful day 
1                        What's up?
2  Hi guys, everything is going ok.
3         What do --- you think? --