【问题标题】:Create dataframe in a "for" loop, in which a function can be applied to them在“for”循环中创建数据框,其中可以将函数应用于它们
【发布时间】:2021-04-14 04:21:18
【问题描述】:

第一个 for 循环似乎有效。但是,当我继续对下一个数据帧执行 groupby 函数时,for 循环中的全局变量无法正确存储数据帧。任何帮助将非常感激。谢谢

chan_group = list(df_2017['Default Channel Grouping'].value_counts().index)
    

gbl = globals()

for i in chan_group:
    gbl['df_'+i] = df_2017[df_2017['Default Channel Grouping']==i]
    
g_chang_group = df_(Other), df_Aggregators, df_Direct, df_Display, df_Email, df_Email alerts, df_Newsletter, df_Organic Search, df_Paid Search, df_Partner referral, df_Referral, df_Retargeting, df_Social

for i in g_chan_group:
    x = i.groupby(['Month']).sum()

【问题讨论】:

  • 你试过df_2017.groupby(["Default Channel Grouping", "Month"]).sum()吗?
  • 别担心!通常 pandas 在没有迭代的情况下效果最好,所以最好先看看内置的 =)

标签: python pandas dataframe for-loop globals


【解决方案1】:

来自@Nathan Furnal

df_2017.groupby(["Default Channel Grouping", "Month"]).sum()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多