.loc
- это функция индексации. Вы используете его для доступа к строкам ваших данных по метке индекса. Например, если вы создаете фрейм данных с индексом ['a', 'b', 'c'] и хотите получить доступ к строке с меткой 'a', вы можете использовать .loc:
> import pandas as pd
> import numpy as np
> df = pd.DataFrame(np.random.random((3,4)), columns=list('1234'),
index=list('abc'))
> df
1 2 3 4
a 0.197580 0.992679 0.258636 0.750934
b 0.668819 0.452229 0.498106 0.424484
c 0.534395 0.951544 0.222347 0.807361
> df.loc['a']
1 0.197580
2 0.992679
3 0.258636
4 0.750934
Вы также можете использовать .loc
для индексирования ряда элементов, таких как df.loc['a':'c']
, но в вашем коде кажется, что вы оба пытаетесь проиндексировать строку и столбец в этой строке:
df_all = df_all.loc[:,df_all.apply(pd.Series.nunique) != 1]
В этой строке вы можете попробовать использовать .ix
. Для двух других строк:
df_benign = df_all.loc[df_all['Y'] == 1]
df_Malw = df_all.loc[df_all['Y'] == 0]
Вы найдете все строки, где df_all['Y'] == 1
, и выделите их с помощью df_all.loc[ ]
.