有效地拆分熊猫数据框并将方法应用于子集

在熊猫中,我想:

  • 从数据框中随机选择一个样本(单列)
  • 将此样本拆分为nr_of_chunks 个块,每个块包含items_per_chunk
  • 计算每个块的平均值
  • 并将其绘制成直方图

只要我增加items_per_chunk但保持nr_of_chunks不变,每个块的均值的直方图应该绘制为一个变窄的钟形曲线。

我想出了以下 Pandas、Numpy、Seaborn 方法,在我看来它效率低下或不是很聪明:

%matplotlib inline

import pandas as pd
import seaborn as sns
import numpy as np
sns.set()

df = pd.read_csv('../data/data.csv')

nr_of_chunks = 1000

for items_per_chunk in [1, 5, 20]:
  sample = df.sample(nr_of_chunks * items_per_chunk)
  chunks = np.array_split(sample, nr_of_chunks)
  mean_of_chunks = [chunk.mean() for chunk in chunks]

  sns.distplot(mean_of_chunks)

输出:

在此处输入图片说明

有没有更好的方法来做到这一点?例如,我希望有一种方法可以在拆分样本时直接将均值函数应用于每个块。

斯特夫

将 的索引重置sample为常规 后RangeIndex,您可以简单地group将索引下限除以items_per_chunk

import pandas as pd
import seaborn as sns
sns.set()

df = pd.read_csv('../data/data.csv')

nr_of_chunks = 1000

for items_per_chunk in [1, 5, 20]:
  sample = df.sample(nr_of_chunks * items_per_chunk).reset_index(drop=True)
  mean_of_chunks = sample.groupby(sample.index // items_per_chunk).mean()

  sns.distplot(mean_of_chunks)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何有效地将功能应用于熊猫面板的每个数据框

来自分类Dev

将不同的聚合函数应用于熊猫数据框的不同列的Python方式?并有效地命名列?

来自分类Dev

如何有效地将pandas.Timestamp函数应用于整个数据框/列?

来自分类Dev

J:如何有效地将动词应用于后缀的前缀?

来自分类Dev

如何有效地将条件应用于numpy数组的索引?

来自分类Dev

如何有效地将函数逐行应用于NumPy矩阵

来自分类Dev

如何根据条件有效地将函数应用于数组中的值?

来自分类Dev

有效地将阈值函数应用于 SciPy 稀疏 csr_matrix

来自分类Dev

有效地将相同的操作应用于多个 DataFrame

来自分类Dev

使用数据框子集更有效地将Python用于循环

来自分类Dev

将功能应用于数据框列的最有效方法

来自分类Dev

R:更有效地子集数据

来自分类Dev

在熊猫数据框中的多行上有效地找到形状

来自分类Dev

熊猫数据框采用列并有效地将其追加为新行

来自分类Dev

熊猫有效地创建和填充新数据框(?)

来自分类Dev

在熊猫数据框中按条件有效地增加值

来自分类Dev

在大熊猫中有效地对数据框进行分组?

来自分类Dev

熊猫有效地规范了数据框中的列标题

来自分类Dev

如何更有效地修改熊猫数据框列

来自分类Dev

如何有效地从熊猫数据框中减去每一行?

来自分类Dev

如何基于条件有效地连接多个熊猫数据框列?

来自分类Dev

将函子应用于设备数组的子集的最有效方法是什么?

来自分类Dev

如何有效地将运算符应用于两个数组的笛卡尔积?

来自分类Dev

如何将矩阵变换有效地应用于NumPy数组的每一行?

来自分类Dev

如何在Python中有效地将同一操作应用于多个变量?

来自分类Dev

如何使用numpy将函数有效地应用于三维数组?

来自分类Dev

在给定转移矩阵的情况下,将转移有效地应用于状态矩阵

来自分类Dev

如何将矩阵变换有效地应用于NumPy数组的每一行?

来自分类Dev

将函数有效地应用于神经元输出然后求和,而不将函数应用于求和

Related 相关文章

  1. 1

    如何有效地将功能应用于熊猫面板的每个数据框

  2. 2

    将不同的聚合函数应用于熊猫数据框的不同列的Python方式?并有效地命名列?

  3. 3

    如何有效地将pandas.Timestamp函数应用于整个数据框/列?

  4. 4

    J:如何有效地将动词应用于后缀的前缀?

  5. 5

    如何有效地将条件应用于numpy数组的索引?

  6. 6

    如何有效地将函数逐行应用于NumPy矩阵

  7. 7

    如何根据条件有效地将函数应用于数组中的值?

  8. 8

    有效地将阈值函数应用于 SciPy 稀疏 csr_matrix

  9. 9

    有效地将相同的操作应用于多个 DataFrame

  10. 10

    使用数据框子集更有效地将Python用于循环

  11. 11

    将功能应用于数据框列的最有效方法

  12. 12

    R:更有效地子集数据

  13. 13

    在熊猫数据框中的多行上有效地找到形状

  14. 14

    熊猫数据框采用列并有效地将其追加为新行

  15. 15

    熊猫有效地创建和填充新数据框(?)

  16. 16

    在熊猫数据框中按条件有效地增加值

  17. 17

    在大熊猫中有效地对数据框进行分组?

  18. 18

    熊猫有效地规范了数据框中的列标题

  19. 19

    如何更有效地修改熊猫数据框列

  20. 20

    如何有效地从熊猫数据框中减去每一行?

  21. 21

    如何基于条件有效地连接多个熊猫数据框列?

  22. 22

    将函子应用于设备数组的子集的最有效方法是什么?

  23. 23

    如何有效地将运算符应用于两个数组的笛卡尔积?

  24. 24

    如何将矩阵变换有效地应用于NumPy数组的每一行?

  25. 25

    如何在Python中有效地将同一操作应用于多个变量?

  26. 26

    如何使用numpy将函数有效地应用于三维数组?

  27. 27

    在给定转移矩阵的情况下,将转移有效地应用于状态矩阵

  28. 28

    如何将矩阵变换有效地应用于NumPy数组的每一行?

  29. 29

    将函数有效地应用于神经元输出然后求和,而不将函数应用于求和

热门标签

归档