Pythonで指定した一列だけrenameする方法を探しています。

df.columns[0]='新列名'

としてもrenameできません。
ぐぐると全列名をリストで入れる方法と辞書で指定する方法は出てくるのですが、今回は使えません。
というのも、列名ではなく数値で列を指定しているのは関数化してループさせたときに1回目と2回目では列名が異なってくる、列数が異なってくるからです。
(ちなみに0列目を同じ名前でrenameするというのは共通しています。)

どうぞよろしくお願いいたします。