2024-04-26 12:21:41 发布
网友
我现在有一个带有dtypeTimestamp的pandasSeries,我想按日期对它进行分组(并且在每个组中有许多具有不同时间的行)。
Timestamp
Series
看起来很明显的做法是
grouped = s.groupby(lambda x: x.date())
然而,熊猫的groupby群是按其指数排列的。我怎样才能让它按值分组呢?
groupby
您应该将其转换为数据帧,然后添加一列,即date()。您可以在带有日期列的数据框上执行groupby。
df = pandas.DataFrame(s, columns=["datetime"]) df["date"] = df["datetime"].apply(lambda x: x.date()) df.groupby("date")
然后“日期”成为你的索引。您必须这样做,因为最终的分组对象需要一个索引,这样您就可以执行select a group之类的操作。
grouped = s.groupby(s)
或:
grouped = s.groupby(lambda x: s[x])
对于其他任何想在不插入lambda的情况下内联执行此操作的人(这会降低性能):
s.to_frame(0).groupby(0)[0]
您应该将其转换为数据帧,然后添加一列,即date()。您可以在带有日期列的数据框上执行groupby。
然后“日期”成为你的索引。您必须这样做,因为最终的分组对象需要一个索引,这样您就可以执行select a group之类的操作。
或:
对于其他任何想在不插入lambda的情况下内联执行此操作的人(这会降低性能):
相关问题 更多 >
编程相关推荐