Mar*_*man 49 python group-by series pandas
我目前有一个Series带有dtype 的pandas Timestamp,我想按日期对它进行分组(并且在每个组中有许多行具有不同的时间).
这种看似明显的方式与此类似
grouped = s.groupby(lambda x: x.date())
Run Code Online (Sandbox Code Playgroud)
但是,熊猫的groupby群体系列由其索引.我怎样才能使它按值分组?
luc*_*uca 73
grouped = s.groupby(s)
Run Code Online (Sandbox Code Playgroud)
要么:
grouped = s.groupby(lambda x: s[x])
Run Code Online (Sandbox Code Playgroud)
小智 9
三种方法:
数据框: pd.groupby(['column']).size()
系列? sel.groupby(sel).size()
系列到数据帧:
pd.DataFrame( sel, columns=['column']).groupby(['column']).size()
对于任何其他想要在不抛出lambda的情况下进行内联的人(这会降低性能):
s.to_frame(0).groupby(0)[0]
Run Code Online (Sandbox Code Playgroud)
您应该将其转换为 DataFrame,然后添加一个名为 date() 的列。您可以使用日期列对 DataFrame 进行 groupby。
df = pandas.DataFrame(s, columns=["datetime"])
df["date"] = df["datetime"].apply(lambda x: x.date())
df.groupby("date")
Run Code Online (Sandbox Code Playgroud)
然后“日期”就成为你的索引。您必须这样做,因为最终分组的对象需要一个索引,以便您可以执行诸如选择组之类的操作。
| 归档时间: |
|
| 查看次数: |
29991 次 |
| 最近记录: |