今天在做项目的时候无意中发现了dataframe的一个特性,就是批量复制列的功能,而且列名是一样的,一般情况下,如果用df['xxx'] = xxx的方式,是没办法复制多个列名一样的列的,操作一次只会覆盖上次的赋值,如果要实现一个dataframe有两个同名的列,可以用pd.concat方法把两个含有同名列的dataframe拼接到一起,但是今天这种方法操作很简单,只需要一个df,就能复制同名列,废话不多说,直接上代码,其实也很简单,
import pandas as pd
import numpy as npdf = pd.DataFrame({'a':np.arange(5),'b':np.arange(5),'c':np.arange(5),'d':np.arange(5),
})
l = ['a','b','c','a','b','c']
df_n = df[l]
df_n
输出
a b c a b c
0 0 0 0 0 0 0
1 1 1 1 1 1 1
2 2 2 2 2 2 2
3 3 3 3 3 3 3
4 4 4 4 4 4 4
可以看到,只要将筛选的列名list重复写几次,就能轻松的实现复制列功能。