我有以下格式的数据帧:
id date item
1 2015-02-01 [0, 2]
2 2015-08-01 [1, 5, 2]
3 2015-07-01 [1, 8, 3]
4 2015-09-01 [8, 1, 0]
我需要将项目编号映射到以下数据框中提供的产品名称:
item product
0 ducky
1 chocolate
2 dog
3 light
4 toy
5 rope
6 shoe
7 shirt
8 table
9 tv
最终的数据帧应如下所示:
id date item
1 2015-02-01 [ducky, dog]
2 2015-08-01 [chocolate, rope, dog]
3 2015-07-01 [chocolate, table, light]
4 2015-09-01 [table, chocolate, ducky]
我尝试过用一系列的.groupby()、取消堆叠、重新堆叠、旋转等方法来实现这一点。我正在寻找一种更实用(优雅)的方法,只需几行代码即可实现。 下面是一些数据复制代码。非常感谢
orders = pd.DataFrame(
{
'id': [1, 2, 3, 4],
'date': pd.to_datetime(['2015-02-01','2015-08-01','2015-07-01','2015-09-01']),
'item': [[0, 2], [1, 5, 2], [1, 8, 3], [8, 1, 0]]
}
)
items = pd.DataFrame(
{
'item': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
'product': ['ducky','chocolate','dog','light','toy','rope','shoe','shirt','table','tv']
}
)
我会这样做,假设项目与索引一起排序(否则,您可以将索引设置为项目代码):
相关问题 更多 >
编程相关推荐