用pandas清洗数据时(合并拼接),经常会遇到更新列名的问题,原因是为避免索引的重复,相同的字段会自动加上一个小的后缀,比如:_x,_1等等诸如此类。
一种比较常用的方法是直接用数字序列替代列名(索引),但是实际运用中,面临的数据往往是列名比较多的,列名也是识别数据比较重要的信息,如果没有列名,可能就不清楚数据的具体含义,那么时常就会碰到批量更新列名的问题。
但是直接手写或者复制(手工构造列名)都不方便(数据量一大就容易出错)。那么采用zip函数还是比较方便的。
new_cols = {x: y for x, y in zip(df6.iloc[:,np.r_[0:22,39:56]].columns,df3.columns)}#通过np.r_方法可以选取不连续的取值范围
# new_cols
df6=df6.iloc[:,np.r_[0:22,39:56]].rename(columns=new_cols)
网友评论