Панды: извлекать определенные строки в виде информационного кадра по значению столбца - PullRequest
0 голосов
/ 13 октября 2018

У меня есть список значений столбцов, и из существующего информационного кадра я хочу извлечь строку по этому значению столбца, используя цикл, поскольку список имеет много значений.

list = [2,4,5,6,7,8, ....., 2345]
df # df is an existing dataframe 
#'number' is the name of the column that has the value of list in it 

for i in list:
    df.loc[(df["number"] == i)])
df

for i in list:
   P = pd.DataFrame(df.loc[(df["number"] == i)])
P # extract only one column of a certain number

оба не получают желаемый результат.

1 Ответ

0 голосов
/ 13 октября 2018

Используйте isin для получения строк, которые дали значения списка как:

df = pd.DataFrame(np.arange(0,20).reshape(5,4),columns=list('abcd'))
    a   b   c   d
0   0   1   2   3
1   4   5   6   7
2   8   9  10  11
3  12  13  14  15
4  16  17  18  19

l = [2,7,19]

df.loc[df['d'].isin(l)]

    a   b   c   d
1   4   5   6   7
4  16  17  18  19

Так, column d имеет 7 и 19 в 1-м и4-й ряд, который мы выбрали, используя isin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...