我有一个数据框df_1,year其中有一列表示犯罪发生的时间。例如,df_1 是这样的:
location description Weapon Year
0 Howard Ave Auto theft Knife 2017
1 Craig Drive Burglary Gun 2014
2 King Ave Assault Hands 2017
Run Code Online (Sandbox Code Playgroud)
我需要创建一个数据框,其中包含 2012-2017 年的犯罪发生次数。
crime_year = pd.DataFrame(df_1.year.value_counts(), columns=["Year", "AggregateCrime"])
crime_yearindex = crime_year.sort_index(axis = 0, ascending=True)
crime_yearindex
Run Code Online (Sandbox Code Playgroud)
当我打印时crime_yearindex,我只得到列标题而不是数据本身。我可能做错了什么?
当你这样做时value_counts,它会返回一个系列,所以我在.reset_index().values之后 添加value_counts,使索引也成为值
crime_year = pd.DataFrame(df.Year.value_counts().reset_index().values, columns=["Year", "AggregateCrime"])
crime_yearindex = crime_year.sort_index(axis = 0, ascending=True)
crime_yearindex
Out[1225]:
Year AggregateCrime
0 2017 2
1 2014 1
Run Code Online (Sandbox Code Playgroud)