Как получить значение, если значение присутствует в листе xlsx, не зная номер индекса? - PullRequest
0 голосов
/ 01 февраля 2020

У меня есть неструктурированный файл Xslx. Я хочу получить полную строку, если значения присутствуют в листе. Например,

A     B    C    D   F  

abc  10   24   32   54
cdf  9    10   34   98
mgl  11   90   21   98
fgd  1    9     2   10

Я хочу получить, если значение 10 присутствует на листе, чтобы получить полные значения строки

output =>


abc  10   24   32   54

cdf  9    10   34   98

fgd  1    9     2   10

спасибо за взносы

Ответы [ 2 ]

2 голосов
/ 01 февраля 2020

Используйте DataFrame.eq с DataFrame.any для проверки, если хотя бы один True на строки:

df = pd.read_excel('file.xlsx')

df1 = df[df.eq(10).any(axis=1)]

Или:

df1 = df[(df == 10).any(axis=1)]

print (df1)
     A   B   C   D   F
0  abc  10  24  32  54
1  cdf   9  10  34  98
3  fgd   1   9   2  10
1 голос
/ 01 февраля 2020

Вы можете использовать pandas .DataFrame.isin , за которым следует pandas .DataFrame.any :

df[df.isin([10]).any(axis = 1)]

   A    B   C   D   F
0   abc 10  24  32  54
1   cdf 9   10  34  98
3   fgd 1   9   2   10
...