当前位置: 首页 > 知识库问答 >
问题:

第[重复]列中的值所需的最新日期

公良同
2023-03-14

我有一个数据框

df = pd.DataFrame({'Col1':['a','a','a','b','b','b','c','c','c'],
                  'Col2':[ '2020-12-01','2020-11-05','2019-01-05','2017-08-07',
                          '2018-07-16','2018-12-31','2019-11-30','2018-05-15',
                          '2019-01-15']})

我希望Col1中的唯一值与最新日期Col2一致。所需的列如下所示

    Col1  Col2 
0   a     2020-12-01
1   b     2018-12-31
2   c     2019-11-30

共有2个答案

卢才艺
2023-03-14

首先根据Col2对数据帧进行排序,然后根据groupby和agglast

做:

df.sort_values(by='Col2').groupby('Col1').last()
支彭亮
2023-03-14

首先,将Col2转换为datetime使用pd.to_datetime如果它还不是datetime,则使用GroupBy.max

df['Col2'] = pd.to_datetime(df['Col2'])
df.groupby('Col1').max()

#            Col2
# Col1
# a    2020-12-01
# b    2018-12-31
# c    2019-11-30
 类似资料:
  • 给定一个硬币面额列表,我需要找到获得给定价值所需的最低硬币数量。 我使用贪婪算法的方法, 将值除以最大值,取余数值,再除以第二个最大值,依此类推,直到得到所需值。 但是这种方法在某些情况下失败了。 我很想知道 适用于所有情况的方法 方法失败的例子。 硬币面额(1,3,4,5) 所需值7 使用贪婪方法 (7/5)=1和2因为3和4不能使用,所以我们需要使用2 1的价值硬币。所以总共3个硬币。 然而,

  • 我有一个包含日期的列表,列表如下: 我想从列表中提取每个月的最高日期。我想要的输出如下: 我试图使用找到一个月的最大日期,但它给出了列表中的总体最大日期。有没有办法从列表中找到每个月的最大日期。

  • 在这个文件数组中,我必须找到最近创建的文件。我是否必须更改日期的格式,或者函数是否可以按原样使用它?

  • 我找不到关于我的问题的答案,因为所有类似于这个问题的问题都没有在最大值中使用可为null的int并从中获得1列。 我的表格如下: 第一个版本是NULL,以下所有版本都得到一个以1开头的数字。 所以现在我只想获取最新合约的行(如行后面的注释所示)。 因此,对于每个合同号,我想从最新的合同版本中选择合同号。 函数不能工作,因为它是一个可为null的int。 所以我想将与函数结合使用,但我不知道如何使用

  • 我正在使用改型2.0来创建服务器上传文件的改型服务。 我引用的是https://futurestud.io/blog/regetfit-2-how-to-upload-files-to-server 下面是我的FileUploadService代码: