countries = ['EMU','Ger','Fra','Ita','Spa','UK','Swe','Nor','Swi','US','Jpn','Cad','Nzd','Aus','Pol','Skr']
for country in countries:
df_name = 'df' + country
df_name = df[[country + '_OECD_LI',country + '_Man_Conf',country + '_C_Conf',country + '_Serv_Conf',country + '_Av']].copy()
df_EMU}
我基本上需要每个国家的一个数据框,其中包含我的主数据框中的相关列
此代码返回一个名为“df_name”的df,它具有来自最终观测(Skr)的正确数据
非常感谢任何帮助
谢谢
有点不清楚每个df最终要做什么,但可以将每个df存储在一个新列表中:
数据帧
df_name
只包含上一次迭代的数据,因为您总是将变量df_name
赋值看起来您正在尝试使用国家名称创建数据框变量,因此
df_EMU
、df_Ger
、df_Fra
等等。您不能通过执行df_name = 'df' + country
来创建变量。您可以使用locals()
动态创建变量并为其赋值,但这通常不是必需的,或者是良好的实践。在以后的代码中,如何知道在您编写的代码中可以使用哪些国家/地区变量一个更简单的解决方案是创建数据帧字典。每个键都是国家名称/代码,值是关联的数据帧
这样,所有可用的国家/地区都是字典中的关键字
顺便问一下,你有没有得到一个数据框,其中所有国家的数据都是单独的列?似乎是一个奇怪的数据源。通常情况下,将国家作为一列名称/代码,然后为每个功能设置不同的列(“OECD_LI”、“Man_Conf”等)
相关问题 更多 >
编程相关推荐