python - 使用 Python 取消汇总数据集

标签 python pandas

给定以下汇总数据集:

import pandas as pd
summarized_set = pd.DataFrame({'Value':[1,2,3],
                           'NumberOfObservations':[3,3,3]})

我正在寻找一种方法将汇总值(观察次数)转换回实际观察值。

observed_values = pd.DataFrame({'Value':[1,1,1,2,2,2,3,3,3]})

我的一个想法是遍历汇总集并将值(作为列表对象)乘以 NumberOfObservations。像这样:

z = []
z = z + ([1] * 3) + ([2] * 3) + ([3] * 3)

但是,我想知道是否有更简单的方法来做到这一点。

最佳答案

使用numpy.repeat :

z = np.repeat(summarized_set['Value'],summarized_set['NumberOfObservations']).values.tolist()
print (z)
[1, 1, 1, 2, 2, 2, 3, 3, 3]

关于python - 使用 Python 取消汇总数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46976437/

相关文章:

python - 如果不同数据帧的项目相等但尊重 Pandas 的条件,则打印值

python - 提取 CSS 类中的文本

python - API 一段时间后停止工作

python - 如何比较两行,当它们不同时创建另一个数据框来复制这两行

python - OpenCV - Python 绑定(bind)中的 IPP、TBB 和 CUDA

python - 使用用户权限和 USB 设备启动 Docker 容器

python - 如何为heroku和django准备FreeType PIL/Pillow包?

python - 在 Pandas 的下一个 K 连续行中找到最高值?

python - 将字符串转换为整数

python - 从数据框中删除反向重复项