如何根据数据框中的列值获取特定行数
问题描述:
假设我有这种方式的MNIST数据集。如何根据数据框中的列值获取特定行数
df = pd.read_csv('data/train.csv')
data = df.loc[df['label'].isin([1,6])]
我想只选择那些行其列[“标签”] == 1或6
不过,我想从每列仅获得500行[“标签”]
我该怎么做?
答
使用GROUPBY第一,然后过滤器,即
ndf= df.groupby('label').head(500)
data = ndf.loc[ndf['label'].isin([1,6])]
答
您可以将它们分组,然后选择要为每个值数:
data = df.loc[df['label'].isin([1,6])].groupby('label').head(500)
也许你可以试试'df.loc [DF ['标签'] .iloc [0:500] .isin([1,6])]'... –
你的意思是第500行吗?然后df [df.label.isin([1,6]))[0:500]将会执行。 – skrubber