检查Dataframe中的某些字符串,并返回在其中找到该字符串的列的列标题

时间:2018-07-06 09:15:06

标签: python pandas dataframe

我有一个看起来像这样的数据框: enter image description here

现在,我只想将具有字符串“工作”的列的标题返回到列表。

因此在这种情况下,列表仅包含lst = [“ OBE”]

1 个答案:

答案 0 :(得分:3)

您可以这样获得它:

import pandas as pd
import numpy as np

df = pd.DataFrame({'OBE': ['Worked', 'Worked', np.nan, 'Uploaded'],
                   'TDG': ['Uploaded']*4,
                   'TMA':[np.nan]*4, 'TMCZ': ['Uploaded']*4})
columns_with_worked = (df == 'Worked').any(axis=0)
columns_with_worked[columns_with_worked].index.tolist()

['OBE']

因此,解决方案构造了一个布尔系列,其中的列包含术语“已工作”。然后,我们只获得与真实标签相关的系列部分,通过调用index选择标签并将该对象作为列表返回