pandas df用for循环作为变量填写列名

时间:2018-11-26 19:32:56

标签: python python-3.x pandas dataframe

我有一个df df,并且想要填写从第3列到最后一列的列名(在本例中为8,但可以或多或少)。从3开始,两个列名总是一起属于(在命名意义上),所以3和4在一起,5和6在一起..依此类推..有时可能直到20列。

使用以下代码:

z=1
for i in range(3,len(df.columns)):
    df=df.rename(columns = {i:'searchword %d' % z, i+1:'# of sw %d' % z})
    z=z+1
df

我明白了这一点:

false df

但是只有在第一个循环中它才是正确的,所以我想要的应该是这样的: desired df

1 个答案:

答案 0 :(得分:1)

如果您只想转到第二列:

z=1
for i in range(3,len(df.columns), 2):
    df=df.rename(columns = {i:'searchword %d' % z, i+1:'# of sw %d' % z})
    z=z+1
df