通过访问嵌套列来重塑数据框架



我想重塑一个保存id、特征、特征代码和每个特征代码各自值的数据框架。每个特性都可以有几个属性,只有当这个属性中有一个值时,它才会在表中作为一行列出。这些值是绝对数字,表示这个特征在我的对象(ID)中出现的频率。

我知道所有可能的属性:

。特征颜色:["暖", "冷"]如功能数量:("0-10","11-20","21-30","31-40","41 - 100")

它看起来像这样:

<表类> ID 功能 属性值tbody><<tr>ID01颜色温暖5ID01颜色冷3ID01数量清廉1ID01数量21 - 302ID01数量41 - 1007ID02颜色温暖9ID02数量清廉2ID02数量11日至20日2ID02数量31-401

尝试:

df["tmp"] = df["Feature"] + "_" + df["Attribute"]
df_out = df.pivot(index="ID", columns="tmp", values="Value")
df_out.columns.name = None
print(df_out.reset_index())

打印:

ID  color_cold  color_warm  number_0-10  number_11-20  number_21-30  number_31-40  number_41-100
0  ID01         3.0         5.0          1.0           NaN           2.0           NaN            7.0
1  ID02         NaN         9.0          2.0           2.0           NaN           1.0            NaN

最新更新