我正在使用包含以下列的pandas数据框:
“产品ID” “价格手册” “列出价格货币”和 “价格表”。
每种产品最多使用3种不同的货币重复4次。我成功完成了一个数据透视,现在列“产品ID”具有唯一的产品ID,每个List价格和货币在同一行。
我在尝试将第四种货币添加到列表时遇到问题,该列表将是“Intl”。我试图在枢轴步骤之前执行此操作。这就是我用来在“列出价格货币”行中附加值,它似乎有效。当我打印数据帧时,行中的值成功更新为“Intl”。
datagrouped['List Price Currency'][df['Price Book Name'].str.contains("International",na=False)] = 'Intl'
现在,当我再次尝试使用数据透视表并查看表时,确实有一个“Intl”列,但数据框现在填充了NaN值。这就是我的代码的支点步骤。
df99 = datagrouped.drop_duplicates(['Product Code','List Price Currency'])
i = df99.pivot('Product Code', 'List Price Currency', 'List Price')\
\
.reset_index()\
.rename_axis(None, 1)
我已经检查过几乎所有产品的所有栏目都应该有价格。在获取最终不正确的数据帧的过程中,我做错了什么?任何指导都将非常感激。