我有一个数据帧(示例),如下所示(8K行和1.6K卖家)
# initialise data of sells.
data = {
'name': ['Tom', 'Tom', 'Tom', 'Tom', 'Tom', 'jack', 'jack', 'jack', 'jack',
'jack', 'Malik'],
'week': [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1],
'sell': [20, 21, 19, 18, 23, 24, 36, 35, 46, 50, 44],
}
# Create DataFrame
df = pd.DataFrame(data)
# Print the output.
df
######
# initialise data of demand.
data1 = {'name': ['Tom', 'Tom', 'Tom', 'jack', 'jack', 'jack', 'jack', 'Malik'],
'week': [1, 2, 3, 1, 2, 3, 4, 1],
'demand': [28, 16, 43, 30, 35, 35, 72, 60]
}
# Create DataFrame
df1 = pd.DataFrame(data1)
# Print the output.
df1
######
df2 = pd.merge(df, df1, on=['name', 'week'], how='outer')
df2['demand-sell'] = df2['demand'] - df2['sell']
df2
df2
:
name week sell demand demand-sell
0 Tom 1 20 28.0 8.0
1 Tom 2 21 16.0 -5.0
2 Tom 3 19 43.0 24.0
3 Tom 4 18 NaN NaN
4 Tom 5 23 NaN NaN
5 jack 1 24 30.0 6.0
6 jack 2 36 35.0 -1.0
7 jack 3 35 35.0 0.0
8 jack 4 46 72.0 26.0
9 jack 5 50 NaN NaN
10 Malik 1 44 60.0 16.0
预期产出:
输出函数
一周=4
其中,我想用剩余需求的总和(需求-销售)填写NaN第4周的需求值,第1,2,3周的需求值=卖方(名称)
注意:
如果第4周需求不是NaN,则在第1,2,3周的(需求-销售)中添加第4周需求
{ex.如果name=jack}
一周=5
其中,我想用一周的剩余需求(需求-销售)之和=同一卖方(名称)的1,2,3,4来填写第5周的需求值
注意:
如果周=5需求不是NaN,则在周=1,2,3,4的(需求-销售)中添加周=5需求
为样本数据输出样本
目前没有回答
相关问题 更多 >
编程相关推荐