【发布时间】:2022-11-16 23:29:54
【问题描述】:
我是 python 的新手,所以如果这是一个愚蠢的问题,请原谅我。
我正在尝试根据唯一的行值(站点 ID)将较大的数据集分成较小的数据框。我已经完成了以下操作,它制作了一个 dict 并将它们分成较小的数据框,但在这个 dict 中?
dfs = dict(list(df.groupby('Station')))
当我在 Jupyter 中打开它时,它只在数字系列 (0-20) 旁边显示站 ID。
有没有办法将这些较小的数据帧命名为站 ID?我习惯了 R/tidyverse,所以必须有一种方法可以轻松做到这一点吗?
谢谢! 小号
也尝试了以下操作:
dct = {}
for idx, v in enumerate(df['Station'].unique()):
dct[f'df{idx}'] = df.loc[df['Station'] == v]
print(dct)
但只是将它们命名为 df1、df2、df3 等。
【问题讨论】:
-
你能提供一个可重现的小例子吗?
-
你需要
dict做什么?您可以直接使用for name, group in df.groupby('Station'): # logic迭代groupby- 参见例如this answer 如果你只想要名字。
标签: python pandas database organization