获取数据框列表并按变量分组,然后使用该变量作为字典的键

2024-04-27

我对 python 编程比较陌生。我有一个 pandas 数据框列表,其中都有“年份”列。我试图按该列进行分组并转换为字典,其中字典键是变量“年份”,值是该年的数据帧列表。这在Python中可能吗?

我试过这个:

grouped_dict = list_of_csv_files.groupby(by = 'Year').to_dict()

我相信我必须循环遍历每个数据帧?我没有提供任何数据,因为我希望这是一个稍微简单的解决方案。

我也尝试过这个:

grouped_dict = list_of_csv_files.groupby(by = 'Year').apply(lambda dfg: dfg.to_dict(orient='list')).to_dict()

任何指导将不胜感激!


到目前为止,其他答案都没有达到目标,所以我会给你一个替代方案。假设您有 CSV 文件(因为您的变量是这样命名的):

from collections import defaultdict

yearly_dfs = defaultdict(list)
for csv in list_of_csv_files:
    df = pd.read_csv(csv)
    for yr, yr_df in df.groupby("Year"):
        yearly_dfs[yr].append(yr_df)

假设您已经有了 DataFrame:

from collections import defaultdict

yearly_dfs = defaultdict(list)
for df in list_of_csv_files:
    for yr, yr_df in df.groupby("Year"):
        yearly_dfs[yr].append(yr_df)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取数据框列表并按变量分组,然后使用该变量作为字典的键 的相关文章

随机推荐