python - 根据python中的字符串匹配列名?
问题描述
我是 python 新手,在匹配 python 中 Dataframe 列的名称时遇到问题。所以,我有一个字符串s = "8907*890a"
,其中 a 是数据框的列名。现在我想将它与是否存在的 df 的列名相匹配。我已经尝试过了,但字符串被视为一个整体。如何从整个字符串中仅获取“a”?
我的代码:
s = "8907*890a"
df=
a b c
0 rr 12 4
1 rt 45 9
2 ht 78 0
for col in df.columns:
for i in s.split():
print(i)
这使:
"8907*890a"
预计出炉:
a
解决方案
split 函数接受分隔符作为参数。默认情况下,分隔符是空格。因此,当您尝试时s.split()
,解释器会在字符串中寻找在这种情况下找不到的空格。所以它返回整个字符串作为输出。如果你尝试s.split('*')
你会得到
8907
890a
作为输出。在您的情况下,拆分字符串似乎不是提取列名的最佳选择。我会改为提取最后一个字符。这可以使用s[-1:]
推荐阅读
- python - How to sort the columns of a data frame by index value in alphabetical order
- java - ORA-01000: 超出 Java 应用程序的最大打开游标
- node.js - 如何开始将 Alexa 与 NodeJS 代码集成?
- angular - 第一次加载表单页面时要清除的Angular 6表单字段数据
- mongodb - 错误:无法添加用户:没有名为 root@test 的角色
- python - 将数据从 Python Web 套接字客户端发送到 Django 通道
- r - ggplot2 将多种图表类型组合成单个图表
- azure - 我可以通过 arm 模板在现有命名空间中创建新的事件中心吗?
- php - 使用 curl 接收数据时如何修复失败
- spring-boot - 如何为以下代码编写junit