mux = pd.MultiIndex.from_product([['Y','N'], np.arange(N)])
df = df.set_index(['Id','IsDef', 'g'])['Data'].unstack([1,2]).reindex(columns=mux)
df.columns = [f'Data{i}_{j+1}' for i, j in df.columns]
print (df)
DataY_1 DataY_2 DataN_1 DataN_2
Id
1 1a NaN NaN NaN
2 2d NaN 2a 2b
3 3b NaN 3a NaN
您可以将列展平到
DataFrame
:然后使用^{} 作为每个组的计数器,并通过^{} 筛选出没有前2行的所有行:
^{pr2}$然后用^{} 和^{} 重塑形状,并通过^{} 添加缺少的类别。最后一个由
f-string
s在列中展平MultiIndex
:相关问题 更多 >
编程相关推荐