我有一个大数据框架,有300多个特性(列)和200000行。在此数据框中,有些列包含负值,有些列包含no。下面是我的数据框示例:
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
现在,我想提取只包含正值的uniques id并将其放到另一个数据帧中,同时提取至少包含一个负值的uniques id并将其保存到另一个数据帧中,如下所示:
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
我使用了下面的代码,但是我只能提取包含负值和所有正值的样本,而不是唯一的id
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)]
实际上,我想提取只包含正值的id(对于我的\u pos\u数据帧)。有没有办法用一种有效的方式做这件事
目前没有回答
相关问题 更多 >
编程相关推荐