我正在尝试使用循环函数创建一个矩阵,该矩阵可以显示一个产品在特定周是否被查看。
df中的每一行(代表一个产品)都有一个close_date(产品关闭的日期)和week_diff(产品列出的周数)。
import pandas
mydata = [{'subid' : 'A', 'Close_date_wk': 25, 'week_diff':3},
{'subid' : 'B', 'Close_date_wk': 26, 'week_diff':2},
{'subid' : 'C', 'Close_date_wk': 27, 'week_diff':2},]
df = pandas.DataFrame(mydata)
我的目标是查看每个日期范围内每个产品列出了多少替代产品。
我已经设置了下面的循环:
for index, row in df.iterrows():
i = 0
max_range = row['Close_date_wk']
min_range = int(row['Close_date_wk'] - row['week_diff'])
for i in range(min_range,max_range):
col_head = 'job_week_' + str(i)
row[col_head] = 1
请您帮忙解释一下为什么"row[col_head] = 1"这行既没有添加一列,也没有给该行的该列添加一个值。
比如说,如果:
row A has date range 1,2,3
row B has date range 2,3
row C has date range 3,4,5'
理想情况下,我希望最终得到
row A has 0 alternative products in week 1
1 alternative products in week 2
2 alternative products in week 3
row B has 1 alternative products in week 2
2 alternative products in week 3
&c..