给出以下汇总数据集:
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)
但是,我想知道是否有更简单的方法可以做到这一点.
用途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)
| 归档时间: |
|
| 查看次数: |
36 次 |
| 最近记录: |