python - 'OrderedDict' 对象没有属性 'sort'
问题描述
我正在尝试对从 excel 导入的数据进行排序,但出现以下错误。为什么在导入数据框后说它的有序字典?
-错误:
'OrderedDict' object has no attribute 'sort'
代码:
import pandas as pd
dfs = pd.read_excel("data.xlsx", sheet_name=None)
dfs
data_df = (dfs.sort(['Date','Tank','Time']).groupby(['Date','Tank']))
data_df
东风:
OrderedDict([(u'Sheet1',
Date Time Tank Sales Quantity Delivery
0 2018-01-01 06:30:00 1 100 3444 0
1 2018-01-01 07:00:00 1 200 3144 0
2 2018-01-01 05:30:00 1 100 2900 0
3 2018-01-01 07:30:00 1 200 2800 0
4 2018-01-01 06:30:00 2 50 3000 0
5 2018-01-01 07:00:00 2 100 2950 0
6 2018-01-01 05:30:00 2 150 2800 0
7 2018-01-01 07:30:00 2 100 2704 0
8 2018-01-02 06:30:00 1 100 3444 0
9 2018-01-02 07:00:00 1 200 3144 0
10 2018-01-02 05:30:00 1 100 2900 50
11 2018-01-02 07:30:00 1 200 2800 0
12 2018-01-02 06:30:00 2 50 3000 0
13 2018-01-02 07:00:00 2 100 2950 0
14 2018-01-02 05:30:00 2 150 2800 50
15 2018-01-02 07:30:00 2 100 2704 0)])
解决方案
因为参数sheet_name=None
在read_excel
:
sheet_name:字符串,整数,字符串/整数的混合列表,或无,默认 0
...
无->All sheets as a dictionary of DataFrames
还要检查specifying sheets
。
因此,您不需要返回第一个工作表名称的参数:
df = pd.read_excel("data.xlsx")
或sheet_name
在必要时指定:
df = pd.read_excel("data.xlsx", sheet_name='Sheet1')
推荐阅读
- python - 使用 Python 同时使用 UDP 的一台服务器和 3 个客户端
- php - 列出 value 中常见的 key 和 value
- sql - 如何在 ActiveRecord 中将 where 范围添加到 SUM?
- oracle - 如何根据轮班时间表(日/中/摆动)进行查询
- java - 在同一行打印数组的元素,当单个元素使用“\n”替换绘制一个字母时
- java - 有没有办法单独部署/更新 Spring Batch Jobs?
- python - 构建多维微分矩阵
- django - 如何在没有实例的情况下在 Django 中保存外键,但使用硬编码值
- c - 如何初始化没有行或列的二维数组,并创建一个接受用户输入的函数,然后更新二维数组?
- c# - EF Core 迁移时间戳有错误的时间(区域)