pandas - 关于熊猫 .sample()
问题描述
我有一个数据框。即“df”,它有 10,000 行和 4 列(一列的值为“是/否”,仅命名为“已购买”,4,000 是和 6,000 否)
如果我写这段代码:
sample = df.sample(df.shape[0], replace = True)
然后我假设它会以无序的方式返回给我整个数据框。所以我使用了 .shape() ,结果发现样本与 df 的记录数相同。(10,000)
然后我用
sample.query('purchased == "Yes"').info()
现在......这次的结果让我很困惑......每次我运行它时, info() 给出的记录数......(2,333; 3000; 1540;.....)
这是为什么?如果样本只是整个 df,那么 .info() 不应该每次都相同吗?(4,000)
解决方案
正如您在 pandas 文档中看到的那样,如果将 replace 参数设置为 True,它可以多次添加同一行,因此“样本”变量可能包含与原始数据集不同的数据集,其中购买值等于“是的”
参考:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html
推荐阅读
- r - 如何并行化while循环?
- javascript - 未捕获的 TypeError:products.filter 不是函数
- html - 单元格内容内的 HTML
- amazon-web-services - 限制 AWS EC https 访问
- akka - Akka 演员的化身对远程调用很重要吗?
- sql - 在任何 8 周内使用 FK 计算最大行数
- javascript - Next.js 可以预渲染的路径数量是否有限制?
- javascript - Hash Tables vs Arrays MongoDB 性能哪个实现更快?
- git - 如何用远程覆盖本地历史记录?
- reactjs - 如何使用带有 Typescript 的 useSelector 访问属性?