保留熊猫数据框中的最新数据

我有一个包含公司软件详细信息以及安装日期的csv文件。我正在使用dataframe中的pandas读取csv文件。下面是包含两个不同软件的示例数据:

software_id software_name                               installed_date    software_version
8331        Intel(R) Graphics Media Accelerator Driver  2009-05-23 0:00   8.15.10.2008
8331        Intel(R) Graphics Media Accelerator Driver  2010-09-15 0:00   8.15.10.2008
8331        Intel(R) Graphics Media Accelerator Driver  2009-12-27 0:00   8.15.10.2008
8332        Wireless Switch Utility                     2009-12-22 0:00   4.3.1400.0
8332        Wireless Switch Utility                     2010-11-22 0:00   4.3.1400.0
8332        Wireless Switch Utility                     2011-01-25 0:00   4.3.1400.0

因此,根据以上数据,我只需要将每个软件代码的最新日期保留一行。例如,以上文件的输出应为:

software_id     software_name                               installed_date    software_version
    8331        Intel(R) Graphics Media Accelerator Driver  2010-09-15 0:00   8.15.10.2008
    8332        Wireless Switch Utility                     2011-01-25 0:00   4.3.1400.0

如何选择一个软件代码的行集,并删除除具有最新日期的行之外的所有行,然后移至下一个软件代码,直到每个软件代码文件只有一个条目。我无法对software_id进行硬编码检查,因为有数千个。

我的逻辑是在两个变量中读取和存储第一个software_id和installed_date,然后开始逐行读取文件。下一行将检查software_id是否与变量中存储的ID匹配,然后比较日期并将最新的ID存储在变量中。当software_id与存储的软件id不匹配时,则意味着新的software_id块已启动。然后它将先前的值存储在数据框中,并开始执行下一个块,依此类推。

仅供参考-我是熊猫菜鸟。

感谢您的所有帮助。

Shubham Sharma

首先,您需要将installed_date转换datetime

df['installed_date'] = pd.to_datetime(df['installed_date'])

然后,您可以使用以下选项之一:

选项1:上 sort的值,installed_date然后drop_duplicates仅保留per的最后一行software_id

df.sort_values('installed_date').drop_duplicates('software_id', keep='last')

选项2: group打开数据框softaware_id并进行汇总,idxmax以获取每个software_id组的最新日期的索引,然后loc与该索引一起使用以过滤所需的行:

idx = df.groupby('software_id')['installed_date'].idxmax()
df.loc[idx]

结果:

   software_id                               software_name installed_date software_version
1         8331  Intel(R) Graphics Media Accelerator Driver     2010-09-15     8.15.10.2008
5         8332                     Wireless Switch Utility     2011-01-25       4.3.1400.0

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新的数据框-保留最新更新-数据框熊猫

来自分类Dev

从熊猫数据框中获取最新条目的最佳方法

来自分类Dev

过滤熊猫数据框的重复行,仅保留最新日期的行

来自分类Dev

保存熊猫数据框,但保留NA值

来自分类Dev

过滤熊猫中的数据框

来自分类Dev

重塑熊猫中的数据框

来自分类Dev

熊猫数据框中的条件

来自分类Dev

在熊猫数据框中搜索

来自分类Dev

熊猫中的数据框转换

来自分类Dev

在熊猫中显示数据框

来自分类Dev

熊猫中的数据框转换

来自分类Dev

字典中的熊猫数据框

来自分类Dev

重塑熊猫中的数据框

来自分类Dev

过滤熊猫中的数据框

来自分类Dev

熊猫中的数据框过滤

来自分类Dev

在熊猫数据框中聚合

来自分类Dev

计算熊猫数据框中的路径数据

来自分类Dev

访问熊猫数据框中的数据

来自分类Dev

复制熊猫数据框中的数据

来自分类Dev

将记录的最新GROUPR保留在数据框中

来自分类Dev

在jupyter笔记本中将多余的空格保留在熊猫数据框的显示中

来自分类Dev

从熊猫数据框中删除重复项,同时保留多数元素

来自分类Dev

在熊猫数据框行中仅保留非Nan值的第一簇

来自分类Dev

如何仅保留数据框Python 2.7熊猫中的特定行

来自分类Dev

如何仅保留基于熊猫数据框中某些列的最后一个条目?

来自分类Dev

加入两个数据框并将所有列保留在熊猫中

来自分类Dev

熊猫将最新日期文件夹/ CSV文件加载到数据框中

来自分类Dev

如何使用最新时间合并熊猫中的两个数据框

来自分类Dev

熊猫中数据框行中的数据框列