[英]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.