按 id 分组,按日期排序,并在大数据 python 上获取值作为列表



我有一个大数据(3000万行(。 每个表都有 ID、日期、值。 我需要遍历每个 id,并根据这些 id 获取按日期排序的值列表,因此第一个值是列表将是较旧的日期。

例:

ID     DATE     VALUE
1   02/03/2020   300
1   04/03/2020   200
2   04/03/2020   456
2   01/03/2020   300
2   05/03/2020   78

愿望表:

ID     VALUE_LIST_ORDERED     
1      [300,200]
2      [300,456,78]

我可以通过 for 循环、应用来做到这一点,但它没有效率,而且对于大量用户来说,这是不可行的。 我想过使用分组依据并对日期进行排序,但我不知道如何列出列表,如果是这样,熊猫 df 上的分组是最好的方法?

我很想得到一些关于如何做到这一点以及使用哪种 df/技术的建议。

谢谢!

您需要做的是使用 pandas.dataframe.sort_values 对数据进行排序,然后应用 groupby 方法

我没有庞大的数据集来测试这段代码,但我相信这可以解决问题:

sorted = data.sort_values('DATE')
result = data.groupby('ID').VALUE.apply(np.array)

由于它是Python,因此您始终可以将所有内容放在一个语句中。

print(data.sort_values('DATE').data.groupby('ID').VALUE.apply(np.array))

相关内容

  • 没有找到相关文章

最新更新