Python 熊猫系列中的日期数据排序
数据如下所示:Python 熊猫系列中的日期数据排序,python,python-3.x,pandas,sorting,Python,Python 3.x,Pandas,Sorting,数据如下所示: 0 Thursday 1 Thursday 2 Thursday 3 Thursday etc, etc 我的代码: import pandas as pd data_file = pd.read_csv('./data/Chicago-2016-Summary.csv') days = data_file['day_of_week'] order = ["Monday","Tuesday","Wednesday", "
0 Thursday
1 Thursday
2 Thursday
3 Thursday
etc, etc
我的代码:
import pandas as pd
data_file = pd.read_csv('./data/Chicago-2016-Summary.csv')
days = data_file['day_of_week']
order = ["Monday","Tuesday","Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
sorted(days, key=lambda x: order.index(x[0]))
print(days)
这会导致错误:
ValueError:“T”不在列表中
我试图分类并得到这个错误,但我不知道这意味着什么
我只想周一周日对数据进行排序,这样我就可以进行一些可视化。有什么建议吗?您可以为此使用pandas的
分类数据类型:
order = ["Monday","Tuesday","Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
data_file['day_of_week'] = pd.Categorical(data_file['day_of_week'], categories=order, ordered=True)
data_file.sort_values(by='day_of_week', inplace=True)
在您的示例中,请注意,当您指定
days = data_file['day_of_week']
您正在data\u文件
框架内创建该列(系列)的视图。您可能需要使用days=data\u文件['day\u of\u week'].copy()
。或者,像上面那样在数据框内工作。可能重复的我不能做一个频率直方图,显示数据集中每天有多少实例?我试图直观地看到哪几天的活动最多。我仍然希望我的图表按周一周日的顺序排列,而不是按计数排序。现在,它将根据每天的值计数进行周一、周二、周五、周四、周六、周日、周三。data\u文件['day\u of_week']。value\u counts().sort\u index().plot.bar()
?