我有一个像这样的DataFrame(尽管更大)
并且我想将其转换/旋转为一个具有唯一条形码作为列,索引作为ID_Pin的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,但问题是值未正确映射。
我试图弄清楚如何将我的值映射到索引和列而不遍历所有内容。有人知道吗?
这更像是枢轴:
new_df = df.set_index(['ID','Pin','Barcode']).Measurement.unstack()
new_df.index = [f'{x}_{y}' for x,y in new_df.index]