首页 > 解决方案 > 如何替换字符串(python)中的列名?

问题描述

我有更换的问题。所以,我有一个字符串和一个列表。该列表包含数据框的列名,字符串包含一些带有列名的整数或字母。现在我只想要字符串中的字母而不是列名。因此,为此,我根据 (,) 拆分了字符串,并尝试使用替换来删除列名,但它不起作用。谁能帮我解决这个问题?

我的df:

  a b c
0 d 2 4
1 f 4 5
2 r 9 0

我的代码:

values = "dffa,c20"
column = ['a','c']
value =values.split(',')
print(value)
z=[]
for i in column:
    for j in value:
        z.append(j.replace(i,''))
print(z)

输出:

['dffa','c20']
['dff','c20','dffa','20']

预期输出:

['dff','20']

标签: pythonstringlistdataframesplit

解决方案


你不想在这里做一个嵌套循环;相反,您想同时循环两个事物,这样您就可以访问每次迭代的第 i 个元素。您可以zip为此使用:

values = "dffa,c20"
column = ['a','c']
value = values.split(',')
z=[]

for element, letter in zip(value, column):
    z.append(element.replace(letter, ''))

print(z)
# ['dff', '20']

推荐阅读