Как я могу получить 2 набора столбцов df? - PullRequest
0 голосов
/ 06 мая 2019

У меня есть df с 12 столбцами объектов, один столбец метки, а затем еще восемь столбцов объектов.

Я установил X и Y таким образом:

y = df.iloc[:, 12] #Label variable
X = df.iloc[:, np.r_[0:12, 13:]] #Features

Это выбирает y ok, но x - это первые 12 столбцов, за которыми следуют первые 13 столбцов, тогда как я хочу, чтобы все столбцы, кроме 13-го. Должен быть более простой способ, но я новичок в этом.

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Если вы хотите сделать это по индексу, используйте drop:

col = [13]
X = df.drop(df.columns[col],axis=1)
0 голосов
/ 06 мая 2019

Используйте DataFrame.pop для извлечения столбца из оригинала в новую серию y:

np.random.seed(100)
df = pd.DataFrame(np.random.randint(10, size=(5,15))).add_prefix('col')
print (df)
   col0  col1  col2  col3  col4  col5  col6  col7  col8  col9  col10  col11  \
0     8     8     3     7     7     0     4     2     5     2      2      2   
1     4     0     9     6     2     4     1     5     3     4      4      3   
2     7     7     0     2     9     9     3     2     5     8      1      0   
3     0     8     2     5     1     8     1     5     4     2      8      3   
4     3     6     3     4     7     6     3     9     0     4      4      5   

   col12  col13  col14  
0      1      0      8  
1      7      1      1  
2      7      6      2  
3      5      0      9  
4      7      6      6  

y = df.pop(df.columns[12])
print (y)
0    1
1    7
2    7
3    5
4    7
Name: col12, dtype: int32

print (df)
   col0  col1  col2  col3  col4  col5  col6  col7  col8  col9  col10  col11  \
0     8     8     3     7     7     0     4     2     5     2      2      2   
1     4     0     9     6     2     4     1     5     3     4      4      3   
2     7     7     0     2     9     9     3     2     5     8      1      0   
3     0     8     2     5     1     8     1     5     4     2      8      3   
4     3     6     3     4     7     6     3     9     0     4      4      5   

   col13  col14  
0      0      8  
1      1      1  
2      6      2  
3      0      9  
4      6      6  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...