我有一个包含四列的DataFrame:X、Y、Z和t。前三列中的值是离散的,表示三维索引。第四列是浮点数。例如,
df = pd.DataFrame({'X':[1,2,3,2,3,1],
'Y':[1,1,2,2,3,3],
'Z':[1,2,1,2,1,2],
't':np.random.rand(6)})
# X Y Z t
#0 1 1 1 0.410462
#1 2 1 2 0.385973
#2 3 2 1 0.434947
#3 2 2 2 0.880702
#4 3 3 1 0.297190
#5 1 3 2 0.750949
如何有效地将df
扩展到3D数据立方体中?(本例中有18个顶点。)新行中t
的值应为np.nan
。换句话说,我希望添加所有“缺少”的行,例如:
...
#6 1 1 2 nan
#7 1 1 3 nan
#8 1 2 1 nan
...
X、Y和Z的范围很大,但并不是很大(例如,10、200和1000个唯一值)。
1条答案
按热度按时间w3nuxt5m1#
这里有一种方法可以使用Python标准库的itertool模块中的product来实现:
然后道: