使用python将字符串转换为数据帧中的数字数据

2024-06-16 12:29:56 发布

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

如果我们在数据帧中有字段

A12
A13
A13
A12
A14

我们需要把这个字符串转换成

^{pr2}$

Tags: 数据字符串a13a12a14pr2
3条回答

看起来OP想从第二个数中减去第一个数,然后得到结果。你可以这样做:

my_test = ['A12', 'A13', 'A13', 'A12', 'A14']

def numberMyData(data):
    try:
        nums = re.match('\w(\d)(\d)', data).groups()
        nums = nums[1] - nums[0]
        return (data, nums)
    except:
        return (data, 0)

my_new_data = list(map(numberMyData, my_test))

然后你有一个列表,如下所示:

^{pr2}$

如果您想以问题中的格式打印,可以使用如下方法:

for data in my_new_data:
    print('   '.join([data[0], str(data[1])]))

它用3个空格连接数据。输出如下:

A12   1
A13   2
A13   2
A12   1
A14   3

试试这个:

arr=dataframe['old_col'].unique()
dataframe['new_col']=dataframe['old_col'].apply(lambda x: arr.index(x))

你可以用口述

counts = {}
for s in strings:
    assigned_number = counts.get( s, len(counts) + 1 )
    counts[s] = assigned_number

相关问题 更多 >