【发布时间】:2020-04-30 14:53:02
【问题描述】:
我有一个有序的字典:
OrderedDict([('Sheet1', name newdate
0 rob 3-2020
1 will 2-2020
2 john 1-2020), ('Sheet2', name newdate
0 william 1-2020
1 tim 2-2020
2 james 3-2020), ('Sheet3', name newdate
0 eric 5-2020
1 jim 4-2020
2 evan 6-2020)])
我尝试运行此代码以将日期列更改为日期格式并获取数据帧从最早到最新的顺序:
for sheet, df in company_dict.items():
df['newdate'] = pd.to_datetime(df['newdate'])
df = df.sort_values(by="newdate")
我明白了:
OrderedDict([('Sheet1', name newdate
0 rob 2020-03-01
1 will 2020-02-01
2 john 2020-01-01), ('Sheet2', name newdate
0 william 2020-01-01
1 tim 2020-02-01
2 james 2020-03-01), ('Sheet3', name newdate
0 eric 2020-05-01
1 jim 2020-04-01
2 evan 2020-06-01)])
日期是日期格式,但每个 df 中的顺序没有改变
我正在寻找它的样子:
OrderedDict([('Sheet1', name newdate
0 john 2020-01-01
1 will 2020-02-01
2 rob 2020-03-01), ('Sheet2', name newdate
0 william 2020-01-01
1 tim 2020-02-01
2 james 2020-03-01), ('Sheet3', name newdate
0 jim 2020-04-01
1 eric 2020-05-01
2 evan 2020-06-01)])
有什么想法吗?
【问题讨论】:
-
您是否要对 OrederedDict 的数据框进行排序?
-
orderedDict 由三个数据帧组成。我正在尝试按日期列更改每个数据框的顺序,但它不起作用
标签: python-3.x pandas numpy dataframe date