簡體   English   中英

自動從分組的 dataframe 生成新的數據幀

[英]make new dataframes from grouped dataframe automatically

我有這個 dataframe 分組


df1 = pd.DataFrame( { 
    "Name" : ["Alice", "Bob", "Mallory", "Mallory", "Bob" , "Mallory"] , 
    "City" : ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"] } )



group = df1.groupby('City')

for city, city_df in group:
    print(city)

    print(city_df)

如何在不指定新 dfs 的情況下將此 output 放入新數據幀? 就像如果下次有 4 個組,我想自動獲得 4 個 dfs

Portland
      Name      City
2  Mallory  Portland
5  Mallory  Portland
Seattle
      Name     City
0    Alice  Seattle
1      Bob  Seattle
3  Mallory  Seattle
4      Bob  Seattle

您可以從 groupby object 創建一個字典:

d = dict(tuple(df1.groupby('City')))

print(d['Portland'])

    Name      City
2  Mallory  Portland
5  Mallory  Portland

您可以使用魔術方法__iter__()獲取 groupby 迭代器並使用dict()將其轉換為字典:

dct = dict(df.groupby('City').__iter__())

如果要從字典中獲取單獨的數據框,可以使用方法values()

df1, df2 = dct.values()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM