数据清洗,如何处理DataFrame的重复列名数据?
发布于 作者:苏南大叔 来源:程序如此灵动~

为了保持数据的整洁和合理,有必要对拿到的数据集进行整理。其中首当其冲的就是重复数据,重复的数据分为两种情况,分别是重复列和重复行。本文就第一种情况,重复列的情况进行阐述。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验文章。本文测试环境:python@3.12.3
,pandas@2.2.2
,numpy@1.26.4
,xlrd@2.0.1
,openpyxl@3.1.2
。
dataframe合并,后缀区分
重复的列名可能出现在多个数据进行合并的过程中。可能涉及的是pd.merge()
函数,参考文章:
从上面的文章里面,可以看到:不同dataframe
里面的同名列,合并后,会被强制加后缀进行区分。
输出:
dataframe定义写法一,合并
理论上来说,dataframe
的定义方式很多,不会出现同名列的不同处理方式。然而,事实并非如此,下面的定义中:df
定义方式一,同名列将会默认覆盖,后者覆盖前者。
输出:
dataframe定义写法二,共存
df
定义方式二,同名列将同时存在。
输出:
列改名方式一
处理方式之一,把相关的列改个名字,那么相同列名的数据,就可以继续保存了。使用df.rename()
操作的话,无法区分同名列,结果就是同时被改名了。
输出:
列改名方式二【推荐】
直接修改df.columns
这个list
即可。参考文章:
输出:
列改名方式三【推荐】
也是直接修改的df.columns
,但是更有针对性了。
输出:
删除列
在删除一列数据的相关函数中,可以看到对于列名相同的情况,是无从下手。但是苏南大叔个人认为,可以先改名再删除。
输出:
更多列删除方式,可以参考:
结束语
删除掉重复数据,就可以做下一步的操作了。更多python
文章,可以参考苏南大叔的博客:


