gpt4 book ai didi

python - Pandas 字符串按字符转换为整数

转载 作者:行者123 更新时间:2023-11-30 22:47:14 28 4
gpt4 key购买 nike

在 Pandas 数据框列中,我想将字符串中的每个字符转换为整数(如使用 ord() 完成的那样)并向左侧添加 100。我知道如何使用常规字符串执行此操作:

st = "JOHNSMITH4817001141979"
a=[ord(x) for x in st]
b=[]
for x in a:
b.append('{:03}'.format(x)) #Add leading zero, ensuring 3 digits
b=['100']+b
b=''.join([ "%s"%x for x in b])
b=int(b)
b

结果:10007407907207808307707308407205205​​6049055048048049049052049057055057

但是,如果我想对像这样的 Pandas 数据框中的列的每个单元格执行此操作,该怎么办?

import pandas as pd
df = pd.DataFrame({'string':['JOHNSMITH4817001141979','JOHNSMYTHE4817001141979']})
df

string
0 JOHNSMITH4817001141979
1 JOHNSMYTHE4817001141979

我只需要一个单独的列,其中“字符串”中每个单元格的结果为整数。

提前致谢!

最佳答案

首先,将处理链转换为如下函数:

def get_it(a):
a=[ord(x) for x in st]
b=[]
for x in a:
b.append('{:03}'.format(x)) #Add leading zero, ensuring 3 digits
b=['100']+b
b=''.join([ "%s"%x for x in b])
return int(b)

然后对列中的每个元素迭代调用它并使该列表成为新列

df['result'] = [get_it(i) for i in df['string']]

虽然这确实有效,但我认为您可以通过优化流程“get_it”找到更好的解决方案

关于python - Pandas 字符串按字符转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40592758/

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