欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

pandas如何删除没有列名的列浅析

程序员文章站 2022-04-18 15:49:46
实际工作中,偶尔遇到如下情况,例如使用pandas计算如下相关系数,并把结果写入excel文件中。correlations = df.corr(method='pearson',min_periods...

实际工作中,偶尔遇到如下情况,例如使用pandas计算如下相关系数,并把结果写入excel文件中。

correlations = df.corr(method='pearson',min_periods=1)  #计算特征之间的相关系数矩阵
correlations.to_excel('dcorr202002.xlsx')

当再次读取excel文件时,出现了没有列名的列。

import pandas as pd    
correlations= pd.read_excel('dcorr202002.xlsx')
correlations

pandas如何删除没有列名的列浅析

没有列名一般是说原表中没有列名,但在pandas读出来的时候是有列名的,一般的命名规则为:
unnamed:x

x-表示未命名或重名的第x个列。

如何删除这个没有列名的列呢?

方法一:通过筛选列的方式,留存正常的列。

print(correlations.columns)
col = correlations.columns.tolist()
col.remove('unnamed: 0')
print(col)
correlations1 = correlations[col]

correlations1 

 index(['unnamed: 0', '最近余额比', '客户会员天数', '累计消费额', '间隔天数斜率', '间隔时间标准差',

   '最近交易间隔天数', '余额斜率', '余额标准差', '最近月份消费比'],

  dtype='object')

  

 ['最近余额比', '客户会员天数', '累计消费额', '间隔天数斜率', '间隔时间标准差', '最近交易间隔天数',

 '余额斜率', '余额标准差', '最近月份消费比']

pandas如何删除没有列名的列浅析

方法二:直接删除列。

correlations2 = correlations.drop(columns='unnamed: 0')correlations2

结果同上,略。