Python:Pandas 数据框根据列中整数的最后三位数字重新排列行

松子0

我有以下数据框:

YearMonth   Total Cost
2015009     $11,209,041 
2015010     $20,581,043 
2015011     $37,079,415 
2015012     $36,831,335 
2016008     $57,428,630 
2016009     $66,754,405 
2016010     $45,021,707 
2016011     $34,783,970 
2016012     $66,215,044 

YearMonth 是一个 int64 列。YearMonth 中的一个值(例如 2015009)代表 2015 年 9 月。我想对行重新排序,以便如果最后 3 位数字相同,那么我希望这些行按年份排列显示在彼此的顶部。

以下是我想要的输出:

YearMonth   Total Cost
2015009     $11,209,041 
2016009     $66,754,405     
2015010     $20,581,043 
2016010     $45,021,707    
2015011     $37,079,415 
2016011     $34,783,970   
2015012     $36,831,335 
2016012     $66,215,044
2016008     $57,428,630

我已经搜索了谷歌试图找到如何做到这一点,但无济于事。

在斯托克维斯
df['YearMonth'] = pd.to_datetime(df['YearMonth'],format = '%Y0%m')
df['Year'] = df['YearMonth'].dt.year
df['Month'] = df['YearMonth'].dt.month
df.sort_values(['Month','Year'])

        YearMonth   Total   Year    Month
8   2016-08-01  $57,428,630 2016    8
0   2015-09-01  $11,209,041 2015    9
1   2016-09-01  $66,754,405 2016    9
2   2015-10-01  $20,581,043 2015    10
3   2016-10-01  $45,021,707 2016    10
4   2015-11-01  $37,079,415 2015    11
5   2016-11-01  $34,783,970 2016    11
6   2015-12-01  $36,831,335 2015    12
7   2016-12-01  $66,215,044 2016    12

一种做法。可能有一种更快的方法,更少的步骤不涉及转换YearMonth为日期时间,但如果你有一个日期,使用它更有意义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从整数中删除最后一位数字,并在python中放入零

来自分类Dev

如何在Python中获得真正的三位数的微秒?

来自分类Dev

带有三位数小时的Python时间格式

来自分类Dev

Python排序方法将两位数字字符串视为三位数字字符串

来自分类Dev

如何在PHP中获取字符前的最后三位数字

来自分类Dev

如何检查三位数字是否是回文?

来自分类Dev

在pandas数据框中基于顺序的列重新排列

来自分类Dev

在Python Pandas中从Excel导入,并将元数据标题重新排列为列数据

来自分类Dev

从每列中删除NaN并使用python pandas / numpy重新排列

来自分类Dev

在开始和最后的python pandas数据框中替换数字

来自分类Dev

在Python中将JSON结构重新排列为数据框

来自分类Dev

重新排列python pandas数据框(部分转置)

来自分类Dev

在Python中Concat多个数据框按字母重新排列列

来自分类Dev

在Python中合并索引并重新排列熊猫数据框的列

来自分类Dev

在Python中重新排列缩进之后再排列列

来自分类Dev

如何在python中计算和打印以三位数(例如001,002,003,004等)开头的数字?

来自分类Dev

Python排序方法将两位数字字符串视为三位数字字符串

来自分类Dev

使用python重新排列数据框

来自分类Dev

如何在Python中根据字母重新排列行的顺序

来自分类Dev

从python3中的列表重新排列数字

来自分类Dev

如何保护第一位数字并显示最后三位数字?

来自分类Dev

Python,在熊猫中重新排列数据

来自分类Dev

Pandas:拆分数据帧行并重新排列列值

来自分类Dev

使用 python pandas 数据框重新排列连续数据日志

来自分类Dev

Pandas 数据框 - 将行索引值重新排列为列标题

来自分类Dev

使用pandas python重新排列csv中的行值

来自分类Dev

获取一个 Int 的最后三位数字

来自分类Dev

在 Pandas 数据透视表中重新排列不同级别的列

来自分类Dev

循环遍历数据库中的每个表并获取一列的前三位数字

Related 相关文章

  1. 1

    从整数中删除最后一位数字,并在python中放入零

  2. 2

    如何在Python中获得真正的三位数的微秒?

  3. 3

    带有三位数小时的Python时间格式

  4. 4

    Python排序方法将两位数字字符串视为三位数字字符串

  5. 5

    如何在PHP中获取字符前的最后三位数字

  6. 6

    如何检查三位数字是否是回文?

  7. 7

    在pandas数据框中基于顺序的列重新排列

  8. 8

    在Python Pandas中从Excel导入,并将元数据标题重新排列为列数据

  9. 9

    从每列中删除NaN并使用python pandas / numpy重新排列

  10. 10

    在开始和最后的python pandas数据框中替换数字

  11. 11

    在Python中将JSON结构重新排列为数据框

  12. 12

    重新排列python pandas数据框(部分转置)

  13. 13

    在Python中Concat多个数据框按字母重新排列列

  14. 14

    在Python中合并索引并重新排列熊猫数据框的列

  15. 15

    在Python中重新排列缩进之后再排列列

  16. 16

    如何在python中计算和打印以三位数(例如001,002,003,004等)开头的数字?

  17. 17

    Python排序方法将两位数字字符串视为三位数字字符串

  18. 18

    使用python重新排列数据框

  19. 19

    如何在Python中根据字母重新排列行的顺序

  20. 20

    从python3中的列表重新排列数字

  21. 21

    如何保护第一位数字并显示最后三位数字?

  22. 22

    Python,在熊猫中重新排列数据

  23. 23

    Pandas:拆分数据帧行并重新排列列值

  24. 24

    使用 python pandas 数据框重新排列连续数据日志

  25. 25

    Pandas 数据框 - 将行索引值重新排列为列标题

  26. 26

    使用pandas python重新排列csv中的行值

  27. 27

    获取一个 Int 的最后三位数字

  28. 28

    在 Pandas 数据透视表中重新排列不同级别的列

  29. 29

    循环遍历数据库中的每个表并获取一列的前三位数字

热门标签

归档