python - 如何替换字符串(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']
解决方案
你不想在这里做一个嵌套循环;相反,您想同时循环两个事物,这样您就可以访问每次迭代的第 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']
推荐阅读
- google-apps-script - 在对象 Gmail 线程中找不到函数 removeLabel
- r - 如何对LM摘要中的系数进行排序?
- python - 将现有的 NumPy 数组转换为 ctype 数组以在多处理之间共享
- python - Python logging.info 在第二次运行脚本时创建空文本文件
- html - 截断列表项内的 x-overflow
- server - 对我服务器真实 IP 的可疑请求
- ansible - 在 Jinja2 中提取嵌套对象
- arrays - 有效插入数组后查找每个元素的下限和上限
- python - 无法删除熊猫中具有特定条件的行
- c# - 如何将功能从界面移动到单独的程序集[错误]