如何从python中的特定类中抽取行数?

时间:2016-12-15 23:50:23

标签: python-3.x pandas numpy

我想从“标签”列中的“仅”类= 1中抽取2行。

在我的代码中,您将看到:

1)我从class = 1(4行)

中采样所有行

2)然后我从前一个数据帧中抽取2行

但我相信必须有更好的方法来做到这一点。

# Creation of the dataframe
df = pd.DataFrame(np.random.rand(12, 5))
label=np.array([1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3])
df['label'] = label


# Sampling
df1=df.loc[df['label'] == 1] #Extract ALL samples with class=1
df2 = pd.concat(g.sample(2) for idx, g in df1.groupby('label')) #Extract 2 samples from df1
df2

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:3)

我只是这样做:

df1.query('label == 1').sample(2)

enter image description here