Получить имена столбцов, если значение находится в списке pandas Python - PullRequest
0 голосов
/ 21 апреля 2020

Мне нужно найти имена столбцов, если они содержат одно из этих слов COMPLETE, UPDATED и PARTIAL

Это мой код, не работает.

import pandas as pd

df=pd.DataFrame({'col1': ['', 'COMPLETE',''], 
             'col2': ['UPDATED', '',''],
             'col3': ['','PARTIAL','']},
            )
print(df)
items=["COMPLETE", "UPDATED", "PARTIAL"]
if x in items:
    print (df.columns)

это желаемый результат:

enter image description here

Я пытался вдохновиться этим вопросом Получить имя столбца, где значение находится в pandas dataframe но я не мог обернуть голову вокруг него

Ответы [ 2 ]

2 голосов
/ 21 апреля 2020

IIU C мы делаем isin и stack и where

s=df.where(df.isin(items)).stack().reset_index(level=0,drop=True).sort_index()
s
col1    COMPLETE
col2     UPDATED
col3     PARTIAL
dtype: object
0 голосов
/ 21 апреля 2020

Вот один из способов сделать это.

# check each column for any matches from the items list.
matched = df.isin(items).any(axis=0)

# produce a list of column labels with a match.
matches = list(df.columns[matched])
...