如何检查列名是在字符串(python)的最后还是前面?

如何检查列名是在字符串(python)的最后还是前面?,python,string,list,dataframe,position,Python,String,List,Dataframe,Position,我对熊猫不熟悉。我不知道列在字符串中的最后或第一个位置。假设我有一个字符串str=“000*999bikes”,其中bikes是df的一个列名,现在我想检查该列的位置是否在第一个或最后一个 我的代码: str = "000*999bikes" df = bikes cars 0 12 23 1 34 67 3 56 90 现在,列名bikes位于字符串的最后。如何知道它是否处于上次使用if条件下?如果您只想在列名旁边输入数字,可以使用以下代码检查

我对熊猫不熟悉。我不知道列在字符串中的最后或第一个位置。假设我有一个字符串
str=“000*999bikes”
,其中bikes是df的一个列名,现在我想检查该列的位置是否在第一个或最后一个

我的代码:

str = "000*999bikes"
df =
  bikes cars
0  12    23
1  34    67
3  56    90

现在,列名bikes位于字符串的最后。如何知道它是否处于上次使用if条件下?

如果您只想在列名旁边输入数字,可以使用以下代码检查每一列

import pandas as pd

df = pd.DataFrame([[1,2],[2,2]],columns=['bikes','cars'])

strings = ["cars000*999","000*999bikes"]

for s in strings:
    for col in df.columns:
        if s.startswith(col):
            print(col, s[len(col) + 1])
        if s.endswith(col):
            print(col, s[-len(col) - 1])
输出:

cars 0
bikes 9

如果字符串在数据帧中,则可以使用循环而不是循环来执行此操作。

这与数据帧有什么关系?strr值来自何处?@forgetso由用户给出。程序应该检查df的列名是否在该字符串的最后一个或第一个。您能给出first和last的示例吗?这是第一次吗
000cars*999
第一个是“cars000*999”,最后一个是“000*999bikes”,谢谢,但是如果我用“abcbikes”作为字符串呢?比如
000*999abcikes
?然后你需要使用正则表达式。是的,我已经用过了。谢谢你的帮助