替换列中的字符

2024-06-28 10:54:19 发布

您现在位置:Python中文网/ 问答频道 /正文

要用panda df['column']中的另一个特定字符替换每个字符,或创建具有新输出的新列。 将所有K替换为B,1到4,2到3,3到8

原始列值:

0    K123D
1    K312E
2    K231G

输出:

0    B438D
1    B843E
2    B384G

Tags: dfcolumn字符panda列值k231gb438dk312e
2条回答

您可以使用str.translate

df = pd.DataFrame(data=["K123D",
                        "K312E",
                        "K231G"], columns=['data'])

table = str.maketrans({'K' : 'B', '1' : '4', '2' : '3', '3': '8'})

df['res'] = df['data'].str.translate(table)

print(df)

输出

    data    res
0  K123D  B438D
1  K312E  B843E
2  K231G  B384G

检查replace

df.col = df.col.replace({'K':'B','1':'4','3':'8','2':'3'},regex=True)
0    B438D
1    B843E
2    B384G
Name: col, dtype: object

相关问题 更多 >