У меня большой фрейм данных с более чем 300 объектами (столбцами) и 200000 строками.В этом кадре данных некоторые столбцы содержат отрицательные значения, а некоторые нет.Ниже приведен пример моего фрейма данных:
my_data:
ID, f1, f2, ...., f300
x1, 34, 45, ...., 23
x1, 5.4,56, ...., 32
x2, -0.34,45,...., 12
x2, 3, 56,...., 54
x2, 56, 10, ...., 90
x3, 5, -4, ...., 31
x3, 30,6, ...., 4
x4, 5.3,1.4,..., 0.4
x4, 5.2,4.7,..., 3
... ... ... ...
Xn, 0.4,-5,..., -3
Теперь я хочу извлечь уникальные идентификаторы, которые содержат только положительные значения, и поместить его в другой фрейм данных, а также извлечь уникальные идентификаторы, которые содержатхотя бы одно отрицательное значение и сохраните его в другом фрейме данных, что-то вроде этого:
my_pos_data:
ID, f1, f2, ....., f300
x1, 34, 45,...., 23
x1, 5.4,56,..., 32
x4, 5.3,1.4,..., 0.4
x4, 5.2,4.7,..., 3
my_neg_data:
ID, f1, f2, ....., f300
x2, -0.34, 45, ..., 12
x2, 3, 56,...., 54
x2, 56, 10,..., 90
x3, 5, -4,..., 31
x3, 30, 6,...., 4
Xn, 0.4, -5,..., -3
Я использовал приведенный ниже код, но я мог извлечь только те образцы, которые содержат отрицательные и все положительные значения, а не уникальные идентификаторы..
my_pos_data=my_data[(my_data.iloc[:,1:300] >= 0).all(1)]
my_neg_data=my_data[(my_data.iloc[:,1:300] < 0).any(1)]
Действительно, я хочу извлечь идентификаторы, которые содержали только положительные значения (для фрейма данных my_pos_data).Есть идеи сделать это эффективно?