首页 > 解决方案 > 我们可以根据聚合标准对熊猫数据框进行采样吗

问题描述

a = df[df.contribution <= 0.1].sample(frac = 0.1)

我需要做这样的事情:采取任何行样本,但行的总贡献应该小于 100

a = df.sample(sum(df['contribution'])<100)

标签: pandasrandom

解决方案


想法是您希望样本包含更多的记录而不是更少的记录。可悲的是使用循环。

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(1,35,(15,1)),columns = ['contribution'])

for i in reversed(range(len(df))):
    if df['contribution'].sample(i).sum() < 100:
        print df
        break

推荐阅读