Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从MNIST数据集中选择每个类的特定数量_Python_Keras_Mnist - Fatal编程技术网

Python 如何从MNIST数据集中选择每个类的特定数量

Python 如何从MNIST数据集中选择每个类的特定数量,python,keras,mnist,Python,Keras,Mnist,我正在使用tensorflow处理Mnist。我需要用每个类的特定数量的数据(例如每个数字的500个样本)来训练我的网络。 我找到了 但我如何才能选择每一个的500个号码,然后将它们和洗牌组合起来呢 如果您拥有一个数据帧那么您可以groupby标签,然后获得头部或尾部 import pandas as pd df = pd.DataFrame({ 'X1': [1,2,3,4,5,6,7,8,9,10,11,12], 'X2': [21,22,23,24,25,26,27,28

我正在使用tensorflow处理Mnist。我需要用每个类的特定数量的数据(例如每个数字的500个样本)来训练我的网络。 我找到了


但我如何才能选择每一个的500个号码,然后将它们和洗牌组合起来呢

如果您拥有一个数据帧
那么您可以
groupby
标签,然后获得
头部
尾部

import pandas as pd

df = pd.DataFrame({
    'X1': [1,2,3,4,5,6,7,8,9,10,11,12],
    'X2': [21,22,23,24,25,26,27,28,29,30,31,32],
    'label': ['a','a','a','a','b','b','b','b','c','c','c','c']
})

groups = df.groupby('label')

df2 = groups.head(2)    
#df2 = groups.apply(lambda x:x[:2]) # the same as head(2)
#df2 = groups.apply(lambda x:x.sample(frac=1)[:2]) # shuffled before get values

print(df2)
结果

   X1  X2 label
0   1  21     a
1   2  22     a
4   5  25     b
5   6  26     b
8   9  29     c
9  10  30     c
然后,您可以将其洗牌并将其拆分为
X\u-train
y\u-train

df2 = df2.sample(frac=1).reset_index(drop=True)

X_train = df2[['X1','X2']]
y_train = df2['label']

print(X_train)
print(y_train)
df2 = df2.sample(frac=1).reset_index(drop=True)

X_train = df2[['X1','X2']]
y_train = df2['label']

print(X_train)
print(y_train)