我编写了生成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((用于呼叫。