dataframe 多列,python dataframe取多列

  dataframe 多列,python dataframe取多列

  ord _ key ord _ dt _ key ord _ TM _ keys ku _ key数量

  933915294 7598 13 401550750 1

  933915294 7598 13 409868344 1

  933915294 7598 13 428852481 1

  933919765 7598 13 432771563 2

  933892844 7598 24 429377565 1

  933892844 7598 24 413100006 1

  933892844 7598 24 433950159 1

  933908232 7598 38 427905127 1

  933882107 7598 40 415639133 1

  933882107 7598 40 428839526 1

  933918543 7598 44 429503890 1

  933918543 7598 44 429501262 1

  我想把ORD_RANK列添加到这个ORD_DT_KEY,ORD_TM_KEY的单独帧排名数据中。ORD_KEY是指先用ORD_DT_KEY分组,再用ORD_TM_KEY打破一级关系。

  生成的级别必须如下

  ord _ key ord _ dt _ key ord _ TM _ keys ku _ keyqtyord _ rank

  933915294 7598 13 401550750 1 1

  933915294 7598 13 409868344 1 1

  933915294 7598 13 428852481 1 1

  933919765 7598 13 432771563 2 2

  933892844 7598 24 429377565 1 3

  933892844 7598 24 413100006 1 3

  933892844 7598 24 433950159 1 3

  933908232 7598 38 427905127 1 4

  933882107 7598 40 415639133 1 5

  933882107 7598 40 428839526 1 5

  933918543 7598 44 429503890 1 6

  933918543 7598 44 429501262 1 6

  df_orders=df_orders_raw.copy(

  col1=df _ orders [ ord _ dt _ key ]。as类型(字符串)

  col2=df _ orders [ ord _ TM _ key ]。as类型(字符串)

  col3=df _ orders [ ord _ key ]。as类型(字符串)

  key=col1 col2 col3

  df_orders[ord_rank]=(key)。astype(浮点型)。rank (method= dense )。as type (int))))))

  这个代码适用于大多数情况,但是由于浮点数开始被舍入,如果密钥非常大(10 ^ 17或更大),它将开始中断。在Python2.7上运行,我用了“long”而不是“floating”,但是Python3.5不支持这种方法。如果我使用(键)。astype)) int),则会引发溢出错误。看了同一个问题,人家建议用floating,这又给了我一个问题。如何修改代码以适用于所有情况?

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: