全局变量和.format()



我编写了生成PDF报告的Python脚本。我必须进行一些数据操作,以更改我使用的每个数据集中的列名。

我的问题是,是否有一种方法可以设置全局变量,然后在Target_Hours_All.rename()中使用.format((?

我已经为每个列名称进行了硬编码。

例如,Target_Hours_All.rename(columns = {'VP_x':'VP', '2018 Q1 Target Hours':'hourTarget18Q1'}, inplace = True)

但是,我希望能够在每个季度运行此操作,而不必更新每个df.rename。相反,我想在脚本的顶部拥有全局变量并更改这些变量。

任何帮助将不胜感激!!!

最简单的方法?将要更改的字符串从函数调用中移出到变量中,然后在target_hours_all.rename((中使用变量这使得代码更容易阅读。

我只能猜测target_hours_all.rename做什么。但是我的猜测是,它在"列"中使用哈希并用值代替键。正确?

因此可以写下您的列行为:

columns = {}
vpl = 'VP_x'
vpr = 'VP'
columns[vpl] = vpr
target_hours_l = '20{year} {quarter} Target Hours'.format(year='18', quarter='Q1')
target_hours_r = 'hourTarget{year}{quarter}'.format(year='18',quarter='Q1')
columns[target_hours_l] = target_hours_r
Target_Hours_All.rename(columns = columns, ... )

是的,这是更多的代码,我不应该命名我的列,而是其他内容。因此,有改进的方法。但它显示了如何将.format((用于呼叫。

相关内容

  • 没有找到相关文章

最新更新