我们在做merge的时候,如果两个DataFrame中存在相同的列名,merge会自动给相同的列名加上后缀。然后,你对需要的数据进行切割。如果所需要的数据中列名还带着个后缀,是很不舒服的。这个时候,你会想重命名列名。这个是一种场景。在其他场景,你也许也想重命名列名的。总之,就是想重命名列名。
通过DataFrame的rename方法,可以实现列名的改变。也可以使用columns属性来操作(直接赋值的方式)。其实,当对个别列重命名,当然是rename最好了。
import pandas as pd df = pd.DataFrame({ 'a_x':[1, 2, 3, 4], 'b_y':[11, 12, 13, 14] }) df.columns = ["a", "b"] df.columns = df.columns.map(lambda x:x[0:1]) df.rename(columns={"a_x":"a", "b_y":"b"}, inplace=True) df.rename(columns = lambda x: x[0:1], inplace=True) print df
#输出 a b 0 1 11 1 2 12 2 3 13 3 4 14