найдите несколько столбцов с указанными c значениями в pandas - PullRequest
1 голос
/ 06 мая 2020

Привет, я знаю, как использовать

`df2.loc[df2[2]=="gene"]` for instance 

, но, скажем, я получаю от этого:

                0         1     2        3        4     5  6  7   8
0  NW_011626968.1  AUGUSTUS  gene  1671821  1675615  0.04  -  .  g1
7  NW_011626968.1  AUGUSTUS  gene  1677196  1679599  0.13  +  .  g2

Как я могу также добавить информацию о col2 и 3 в сопоставить определенные c значения и получить только строку 7?

Я пробовал:

df2.loc[df2[2]=="gene"]  & df2.loc[df2[3]=="1677196"] & df2.loc[df2[4]=="1679599"]

1 Ответ

1 голос
/ 06 мая 2020

Вот необходимые маски цепочки, а не отфильтрованные строки, также добавляются () из-за приоритета операторов:

#if columns are filled by strings
#df3 = df2[(df2[2]=="gene") & (df2[3]=="1677196") & (df2[4]=="1679599")]

#if columns are filled by numbers
df3 = df2[(df2[2]=="gene") & (df2[3]==1677196) & (df2[4]==1679599)]
print (df3)
                0         1     2        3        4     5  6  7   8
7  NW_011626968.1  AUGUSTUS  gene  1677196  1679599  0.13  +  .  g2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...