增加不存在索引的列表索引

时间:2017-08-29 04:41:14

标签: python pandas dataframe

我正在尝试遍历数据集的行,并递增新创建的列表的索引。我知道我目前正在尝试增加一个不存在的索引,但我真的很感激任何帮助尝试完成类似的事情。

这是我的代码段:

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

2 个答案:

答案 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