前言
之前用python对200+个特征进行重要性排序,输出的结果是**[(,),(,),…,(,)]**这样成对的数组格式,手动整理到表格太麻烦了,就想办法改了个代码出来。
代码可能不是最简洁、最优的,但是完全能达到目的了。
一、效果展示
特征重要性排序的输出结果:
想要让最后一行的特征名称及其得分导出到csv表格里。
代码运行结果:
二、代码
import numpy as np
import pandas as pd
score=[(0.8695, ' B43'), (0.5969, ' B31'),...,(0.6281, ' B81')] #把输出的结果复制在这里就可以了
listb = [[r[i] for r in score] for i in range(2)]
test = pd.DataFrame(data=listb)
test.to_csv('/输出的csv表格路径/.../特征总体精度5.csv', index=False, header=True)
df = pd.read_csv('/输出的csv表格路径/.../特征总体精度5.csv')
data = df.values # data是数组,直接从文件读出来的数据格式是数组
index1 = list(df.keys()) # 获取原有csv文件的标题,并形成列表
data = list(map(list, zip(*data))) # map()可以单独列出列表,将数组转换成列表
data = pd.DataFrame(data, index=index1) # 将data的行列转换
data.to_csv('/输出的csv表格路径/.../特征总体精度5.csv', header=0)
#代码里三个路径是一样的。当然也可以用一个File_path变量存储一下,放在这三个路径的地方,无伤大雅
总结
本人非计算机专业,几乎是一个python小白,只能简单改一改代码,有一些处理还是很笨地在手动处理。但也在努力挑战尝试新的工具和方法、用代码来提高工作效率。
希望各位大神看到代码里可以优化的地方能在评论区指点一下,有更好的方法和文章也欢迎分享给我。
每次能够用新的工具和方法来决解问题,心中都会迸出火花,这种获得新知的感觉真的太棒了!
最近上课一位老教授说:“没有胡思乱想,就没有奇思妙想!”太棒了!加油加油!我爱这个世界!