如何根据数据框中的列值获取特定的行数[重复]
Posted
技术标签:
【中文标题】如何根据数据框中的列值获取特定的行数[重复]【英文标题】:How to get specific number of rows based on column values in dataframe [duplicate] 【发布时间】:2018-04-02 06:30:02 【问题描述】:假设我以这种方式拥有一个 MNIST 数据集。
df = pd.read_csv('data/train.csv')
data = df.loc[df['label'].isin([1,6])]
我试图只选择列 ['label'] == 1 或 6 的那些行。
但是,我只想从每列 ['label'] 中获取 500 行
我该怎么做?
【问题讨论】:
也许可以试试df.loc[df['label'].iloc[0:500].isin([1,6])]
...
你是指前 500 行吗?然后 df[df.label.isin([1,6]))[0:500] 就可以了。
【参考方案1】:
您可以将它们分组并为每个值选择所需的数字:
data = df.loc[df['label'].isin([1,6])].groupby('label').head(500)
【讨论】:
【参考方案2】:先使用 groupby,然后使用 filer,即
ndf= df.groupby('label').head(500)
data = ndf.loc[ndf['label'].isin([1,6])]
【讨论】:
以上是关于如何根据数据框中的列值获取特定的行数[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Pandas:如何根据特定列上特定值的条件选择数据框中的行[重复]
根据列值删除Python Pandas中的DataFrame行[重复]