我正在尝试遍历数据集的行,并递增新创建的列表的索引。我知道我目前正在尝试增加一个不存在的索引,但我真的很感激任何帮助尝试完成类似的事情。
这是我的代码段:
attack_year_type = []
year_type_counter = []
for _, event in main_df.iterrows():
attack_year_type.append((event['iyear'], event['attacktype1_txt']))
year_type_counter[int(event['iyear'])][event['attacktype1_txt']] += 1
答案 0 :(得分:1)
你可以做的是你可以初始化列表,如下所示
attack_year_type = [None]*(main_df.count())
year_type_counter = [None]*(main_df.count())
然后,根据索引修改元素。
答案 1 :(得分:1)
我认为year_type_counter
成为dict
dict
的你会更好。在这种情况下,您可以使用defaultdict
来完成您想要的任务。
from collections import defaultdict
year_type_counter = defaultdict(lambda: defaultdict(int))
attack_year_type = []
for _, event in main_df.iterrows():
attack_year_type.append((event['iyear'], event['attacktype1_txt']))
year_type_counter[int(event['iyear'])][event['attacktype1_txt']] += 1