使用Python取消对数据集的错误

Sev*_*yns 2 python pandas

给出以下汇总数据集:

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

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

observed_values = pd.DataFrame({'Value':[1,1,1,2,2,2,3,3,3]})
Run Code Online (Sandbox Code Playgroud)

我有一个想法是迭代汇总集并将值(作为列表对象)乘以NumberOfObservations.像这样的东西:

z = []
z = z + ([1] * 3) + ([2] * 3) + ([3] * 3)
Run Code Online (Sandbox Code Playgroud)

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

jez*_*ael 6

用途numpy.repeat:

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