我的数据框有许多列,但对于某些列,它们以类似于列名的单词开头:
>>> df.columns
Index([u'VESSELTYPE', u'VESSELNAME', u'PERIODSTART', u'PERIODEND', u'ESTREDELI', u'HIRE', u'DAYS Mar-14', u'DAYS Q2 2014', u'DAYS Q3 2014', u'DAYS Q4 2014', u'DAYS Q1 2015', u'DAYS Q2 2015', u'DAYS Q3 2015', u'DAYS Q4 2015', u'NUMDAYS'], dtype='object')
>>>
看这里,我想选择前面有'DAYS'的所有,有没有像SQL中那样的东西,我可以用*
来表示'DAYS'之后的所有东西?在
pandas索引(和数据帧)是numpy数组,因此您可以使用numpy的索引技巧——特别是,使用bools向量进行索引在这里非常有用。要测试任何特定的条目是否以“DAYS”开头,这是Python的标准字符串方法的问题;将其放在list comprehension中以获得bools列表:
或者您可以对数组使用
^{pr2}$map
方法来避免双括号:试着让它适应你的代码。在
您可以使用对所有字符串都可用的“startswith()”方法,并用它生成一些逻辑。在
如果您不喜欢list-comprehensions,下面是for循环中它的等效项:
^{pr2}$是的,你可以试试这样的方法:
在这里,您要将目标字符串与字符串第一个n字符进行比较。你的目标字符串的长度。在
您可以在选择中使用此条件。在
相关问题 更多 >
编程相关推荐