Python 选择具有相似名称的列

标签 python dataframe win32com

我的数据框有很多列,但对于某些列来说,它们以与列名称相似的单词开头:

>>> 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”后面的所有内容?

最佳答案

尝试使其适应您的代码。

l = ([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'], 'AnotherItem')

days = [s for s in l[0] if s.startswith('DAYS')]
print days

您可以使用适用于所有字符串的“startswith() ”方法并用它进行一些逻辑。

如果你不喜欢list-comprehensions ,这是其在 for 循环中的等效项:

days = []
for s in l[0]:
    if s.startswith('DAYS'):
        days.append(s)

print days

关于Python 选择具有相似名称的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22473567/

相关文章:

python - 如何使用 python 获取有关文件属性>详细信息的信息?

Python:用字典键替换 pandas df 中的整个单词字典值

python - 将多行传递到函数中

python - 如何在 python pandas 中使用 str.contains 拆分具有多个类别的数据帧?

dataframe - Julia 。将一列汇总为具有多列的新 DataFrame

python - 使用 win32com 模块的带有 CPython 的 RegFree DLL

free pascal 中的 Python+Numpy 模块

python - Python 元类与常规类继承有何不同?

python - Pandas 数据框排除特定范围内的行

python - Windows 身份验证代码现在不再起作用