基于标准的熊猫样本

命运选择

我想使用pandas示例函数,但要有一个标准,而不要对数据分组或过滤。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(low=0, high=5, size=(10000, 2)),columns=['a', 'b'])

print df.sample(n=100)

这将采样100行,但是如果我想采样50行包含0到50行包含1 in df['a']

尼尔

您可以使用==运算符列出布尔值*。当将所述列表放入getter([])时,它将过滤值。如果需要,可以使用n=50创建50行的样本大小。

新密码

df[df['a']==1].sample(n=50)

完整代码

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(low=0, high=5, size=(10000, 2)),columns=['a', 'b'])

print(df[df['a']==1].sample(n=50))

* List在这种情况下并不是字面上的列表,但它是解释其工作原理的好词。从技术上讲,它是将行映射到true / false值的DataFrame。

更模糊的DataFrame采样

如果要对a为1或0的全部50个样本进行采样:

print(df[(df['a']==1) | (df['a']==0)].sample(n=50))

如果要对每个样本进行50个采样:

df1 = df[df['a']==1].sample(n=50)
df0 = df[df['a']==0].sample(n=50)
print(pd.concat([df1,df0]))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章