gpt4 book ai didi

python - 如何用 Pandas 数据框中的 ASCII 替换非 ASCII

转载 作者:太空宇宙 更新时间:2023-11-04 05:56:24 25 4
gpt4 key购买 nike

我的程序中有一个来自 Excel 文件的 pandas 数据框作为输入。

我想替换 pandas 数据框中的一些非 ASCII 字符。

import pandas as pd
XList=['Meßi','Ürik']
YList=['01.01.1970','01.01.1990']

df = pd.DataFrame({'X':XList,
'Y':YList})

X Y
0 Meßi 01.01.1970
1 Ürik 01.01.1990

我想创建一些替换规则:例如。 ß->ss 和 Ü->UE

得到这个:

       X           Y
0 Messi 01.01.1970
1 UErik 01.01.1990

注意:我使用的是 Python 2.7

更新:

使用下面的答案解决并通过 Eclipse 设置如下:

1°:将 Eclipe 中的文本文件编码更改为 UTF-8。

如何: How to use Special Chars in Java/Eclipse

2°:添加到第一行命令

# -*- coding: UTF-8 -*- 

http://www.vogella.com/tutorials/Python/article.html

最佳答案

一种方法是创建一个字典并遍历 k,v 并使用 replace :

In [42]:

repl_dict = {'ß':'ss', 'Ü':'UE'}
for k,v in repl_dict.items():
df.loc[df.X.str.contains(k), 'X'] = df.X.str.replace(pat=k,repl=v)
df

Out[42]:
X Y
0 Messi 01.01.1970
1 UErik 01.01.1990

编辑

对于不允许在 python 脚本中使用 unicode 编码的编辑器,您可以使用 unicode 值进行音译:

In [72]:

repl_dict = {'\u00DF':'ss', '\u00DC':'UE'}
for k,v in repl_dict.items():
df.loc[df.X.str.contains(k), 'X'] = df.X.str.replace(pat=k,repl=v)
df

Out[72]:
X Y
0 Messi 01.01.1970
1 UErik 01.01.1990

关于python - 如何用 Pandas 数据框中的 ASCII 替换非 ASCII,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27544913/

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