【问题标题】:Dataframe sort and remove on date数据框按日期排序和删除
【发布时间】:2022-07-12 22:31:51
【问题描述】:

我有以下数据框

import pandas as pd
from pandas import Timestamp

df=pd.DataFrame({
'Tech en Innovation Fonds': {0: '63.57', 1: '63.57', 2: '63.57', 3: '63.57', 4: '61.03', 5: '61.03', 6: 61.03}, 'Aandelen Index Fonds': {0: '80.22', 1: '80.22', 2: '80.22', 3: '80.22', 4: '79.85', 5: '79.85', 6: 79.85}, 
'Behoudend Mix Fonds': {0: '44.80', 1: '44.8', 2: '44.8', 3: '44.8', 4: '44.8', 5: '44.8', 6: 44.8}, 
'Neutraal Mix Fonds': {0: '50.43', 1: '50.43', 2: '50.43', 3: '50.43', 4: '50.37', 5: '50.37', 6: 50.37}, 
'Dynamisch Mix Fonds': {0: '70.20', 1: '70.2', 2: '70.2', 3: '70.2', 4: '70.04', 5: '70.04', 6: 70.04}, 
'Risicomijdende Strategie': {0: '46.03', 1: '46.03', 2: '46.03', 3: '46.03', 4: '46.08', 5: '46.08', 6: 46.08}, 
'Tactische Strategie': {0: '48.69', 1: '48.69', 2: '48.69', 3: '48.69', 4: '48.62', 5: '48.62', 6: 48.62}, 
'Aandelen Groei Strategie': {0: '52.91', 1: '52.91', 2: '52.91', 3: '52.91', 4: '52.77', 5: '52.77', 6: 52.77}, 
'Datum': {0: Timestamp('2022-07-08 18:00:00'), 1: Timestamp('2022-07-11 19:42:55'), 2: Timestamp('2022-07-12 09:12:09'), 3: Timestamp('2022-07-12 09:29:53'), 4: Timestamp('2022-07-12 15:24:46'), 5: Timestamp('2022-07-12 15:30:02'), 6: Timestamp('2022-07-12 15:59:31')}})

我每天数次从网站上抓取这些内容 我正在寻找一种清理数据框的方法,以便每天只保留最新的条目。 因此,对于这个数据框 2022-07-12 有 2027-07-12 的 5 个条目,但我想保留最后一个,即 2022-07-12 15:59:31 前一天的条目已经手动完成了:-( 我打算每月这样做一次,所以每天都有几个条目

我已经试过了

dfclean=df.sort_values('Datum').drop_duplicates('Datum', keep='last')

但这让我把所有的记录都还给我了,因为时间不同

有人知道怎么做吗?

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    下面是一个工作示例,我只保留时间戳的日期部分来过滤数据框:

    df['Datum_Date'] = df['Datum'].dt.date
    dfclean = df.sort_values('Datum_Date').drop_duplicates('Datum_Date', keep='last')
    dfclean = dfclean.drop(columns='Datum_Date', axis=1)
    

    【讨论】:

      【解决方案2】:

      您可以将.max() 与这样的日期时间列一起使用:

      dfclean = df.loc[df['Datum'] == df['Datum'].max()]
      

      输出:

        Tech en Innovation Fonds Aandelen Index Fonds Behoudend Mix Fonds  \
      6                    61.03                79.85                44.8   
      
        Neutraal Mix Fonds Dynamisch Mix Fonds Risicomijdende Strategie  \
      6              50.37               70.04                    46.08   
      
        Tactische Strategie Aandelen Groei Strategie               Datum  
      6               48.62                    52.77 2022-07-12 15:59:31  
      

      【讨论】:

        猜你喜欢
        • 2021-09-10
        • 1970-01-01
        • 2017-05-16
        • 2017-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-08
        相关资源
        最近更新 更多