Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫系列中的日期数据排序_Python_Python 3.x_Pandas_Sorting - Fatal编程技术网

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()