gpt4 book ai didi

python - 替换 Pandas 数据框中所有出现的字符串(Python)

转载 作者:IT老高 更新时间:2023-10-28 21:46:47 26 4
gpt4 key购买 nike

我有一个大约 20 列的 pandas 数据框。

可以通过手动写入所有列名来替换所有出现的字符串(这里是换行符):

df['columnname1'] = df['columnname1'].str.replace("\n","<br>")
df['columnname2'] = df['columnname2'].str.replace("\n","<br>")
df['columnname3'] = df['columnname3'].str.replace("\n","<br>")
...
df['columnname20'] = df['columnname20'].str.replace("\n","<br>")

不幸的是,这不起作用:

df = df.replace("\n","<br>")

还有其他更优雅的解决方案吗?

最佳答案

您可以使用 replace 并将字符串作为字典键/项传递来查找/替换:

df.replace({'\n': '<br>'}, regex=True)

例如:

>>> df = pd.DataFrame({'a': ['1\n', '2\n', '3'], 'b': ['4\n', '5', '6\n']})
>>> df
a b
0 1\n 4\n
1 2\n 5
2 3 6\n

>>> df.replace({'\n': '<br>'}, regex=True)
a b
0 1<br> 4<br>
1 2<br> 5
2 3 6<br>

请注意,此方法默认返回一个新的 DataFrame 实例(它不会修改原始实例),因此您需要重新分配输出:

df = df.replace({'\n': '<br>'}, regex=True)

或指定inplace=True:

df.replace({'\n': '<br>'}, regex=True, inplace=True)

关于python - 替换 Pandas 数据框中所有出现的字符串(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25698710/

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