根据python中的字符串匹配列名?
Match the column name based on the string in 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 函数接受分隔符作为参数。默认情况下,分隔符是 space。因此,当您尝试 s.split()
时,解释器正在寻找字符串中的 space,而在这种情况下它找不到。所以它 returns 整个字符串作为输出。如果你尝试 s.split('*')
你会得到
8907
890a
作为输出。在您的情况下,拆分字符串似乎不是提取列名的最佳选择。我会选择提取最后一个字符。这可以使用 s[-1:]
来完成
我是 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 函数接受分隔符作为参数。默认情况下,分隔符是 space。因此,当您尝试 s.split()
时,解释器正在寻找字符串中的 space,而在这种情况下它找不到。所以它 returns 整个字符串作为输出。如果你尝试 s.split('*')
你会得到
8907
890a
作为输出。在您的情况下,拆分字符串似乎不是提取列名的最佳选择。我会选择提取最后一个字符。这可以使用 s[-1:]