gpt4 book ai didi

python - 尝试用反转的匹配捕获组替换与 pandas 数据框中的模式匹配的所有值

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

一直在尝试用反转的匹配捕获组替换与 pandas 数据框中的模式匹配的所有值。所以Mouse, Mickey将替换为 Mickey Mouse

数据框看起来像:

+---+---------------+------+------+------+------+------+------+------+------+------+--+--+------+------+------+------+------+------+------+------+------+------+
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | | | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
+---+---------------+------+------+------+------+------+------+------+------+------+--+--+------+------+------+------+------+------+------+------+------+------+
| 0 | Mouse, Mickey | None | None | None | None | None | None | None | None | None | | | None | None | None | None | None | None | None | None | None | None |
| 1 | Duck, Donald | None | None | None | None | None | None | None | None | None | | | None | None | None | None | None | None | None | None | None | None |
+---+---------------+------+------+------+------+------+------+------+------+------+--+--+------+------+------+------+------+------+------+------+------+------+

代码:

df.replace(r'(.*),\s+(.*)', r'\2 \1', inplace=True)

输出没有变化。我究竟做错了什么?谢谢!

最佳答案

您需要指定regex=True;默认情况下,DataFrame.replace 方法按字面替换值:

df = pd.DataFrame({"A": ["Mouse, Mickey", "Duck, Donald"]})

df.replace(r'(.*),\s+(.*)', r'\2 \1', inplace=True, regex=True)

df
# A
#0 Mickey Mouse
#1 Donald Duck

关于python - 尝试用反转的匹配捕获组替换与 pandas 数据框中的模式匹配的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43549885/

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