给定以下汇总数据集:
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/