枢轴数据帧,但映射值失败

问题描述 投票:0回答:1

我有一个像这样的DataFrame(尽管更大)

Initial DataFrame

并且我想将其转换/旋转为一个具有唯一条形码作为列,索引作为ID_Pin的DataFrame。像这样

Goal DataFrame

def pivot_dataframe(attribute_name):
    view = input_data[["Barcode", "Component ID", "PinNumber", attribute_name]]

    index = view["Component ID"] + "_" + view["PinNumber"].astype(int).astype(str) + "_" + attribute_name
    index.drop_duplicates(inplace=True)
    index.reset_index(inplace=True, drop=True)

    barcodes = view["Barcode"].drop_duplicates()
    barcodes.reset_index(inplace=True, drop=True)

    return view.pivot_table(index=index, columns=barcodes, values=attribute_name)

我能够将Index和Columns创建为Series,但问题是值未正确映射。

enter image description here

我试图弄清楚如何将我的值映射到索引和列而不遍历所有内容。有人知道吗?

python pandas bigdata
1个回答
0
投票

这更像是枢轴:

new_df = df.set_index(['ID','Pin','Barcode']).Measurement.unstack()

new_df.index = [f'{x}_{y}' for x,y in new_df.index]
© www.soinside.com 2019 - 2024. All rights reserved.