gpt4 book ai didi

python - 基于标准的 Pandas 样本

转载 作者:行者123 更新时间:2023-11-28 21:38:59 27 4
gpt4 key购买 nike

我想用 Pandas sample功能,但具有不分组或过滤数据的标准。

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 行,但是如果我想在 df['a'] 中采样包含 0 到 50 行包含 1 的 50 行。

最佳答案

您可以使用 == 运算符来制作一个 bool 值列表*。当将所述列表放入 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]))

关于python - 基于标准的 Pandas 样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47432224/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com