意外的分组依据结果:缺少某些行

时间:2019-09-21 05:52:35

标签: pandas pandas-groupby

我在使用Pandas的groupby转换数据时遇到问题。我有一个要按“日期”变量分组的表(几百万行和3个变量)。

原始表中的代码段

Date                 V1          V2
07_19_2017_17_00_06  10           5
07_19_2017_17_00_06  20           6
07_19_2017_17_00_08  15           3
...
01_07_2019_14_06_59  30           1
01_07_2019_14_06_59  40           2

目标是通过在V1上应用均值函数并在V2上应用求和函数,将具有相同“ Date”值的行分组。这样预期结果类似于:

Date                 V1          V2
07_19_2017_17_00_06  15           11  # This row has changed
07_19_2017_17_00_08  15           3
...
01_07_2019_14_06_59  35           3   # and this one too!

我的代码:

df = df.groupby(['Date'], as_index=False).agg({'V1': 'mean', 'V2': 'sum'})

但是,我得到的输出完全出乎意料,而且我找不到合理的解释来解释为什么会发生。似乎熊猫只处理从01_01_2018_00_00_01到12_31_2018_23_58_40的数据,而不是从07_19_2017_17_00_06到01_07_2019_14_06_59的数据。

 Date                 V1        V2
 01_01_2018_00_00_01  30        3
 01_01_2018_00_00_02  20        4
 ...
 12_31_2018_23_58_35   15       3
 12_31_2018_23_58_40   16       11

如果您有任何线索,我将非常感谢您的投入。谢谢!

1 个答案:

答案 0 :(得分:0)

我怀疑问题是由于熊猫无法识别我使用的日期格式引起的。事实证明,解决方案非常简单:将所有日期转换为UNIX时间格式,除以60,然后重复groupby过程。