python - 如何显示预测类的名称
问题描述
Predict 为每列返回一个 numpy 数组(仅由 0 和 1 组成)。
如何打印具有 1 的列的名称并且不显示具有 0 的列?
predict
[[0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]
我有列名列表 - columns_names
:
['1','10','11','12','13','14','15','16','17','18','19','2',' 20'、'21'、'22'、'23'、'24'、'25'、'26'、'27'、'28'、'29'、'3'、'30'、'31' , '32', '33', '34', '4', '5', '6', '7', '8', '9']
type(predict) - numpy.ndarray
type(columns_names) - list
解决方案
您可以使用 pandas 数据框来帮助标记您的 numpy 矩阵。
import pandas as pd
predict = [[0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]
columns_names = ['1', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '2', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '3', '30', '31', '32', '33', '34', '4', '5', '6', '7', '8', '9']
df = pd.DataFrame(predict, columns=columns_names)
df.columns[df.any()].tolist()
输出:
['15', '17', '24', '6']
您可以使用,
df.apply(lambda x: df.columns[x.eq(1)].tolist(), axis=1).tolist()
输出:
[['17', '24'], ['6'], ['15', '24']]
推荐阅读
- regex - 在 Bash 脚本中将错误重定向替换为空设备并创建一个新文件
- python - LSTM 自动编码器的可变长度输入 - Keras
- c++ - std::variant 是否提供类似于 boost::variant<>::types 的功能?
- javascript - 使用标签输入 tyle=file 重新导入同一视频时捕获事件
- git - ci圈中的“结帐”步骤是做什么的?
- c# - ListCollectionView 在组内上下移动项目并更新 UI
- windows - 如何使用 PowerShell 获取特定路径
- xaml - “Xamarin Android”如何设置 ListView 的 TextCell 属性?
- react-hooks - 如何有效地使用反应钩子?
- odata - 在 CDS 中创建 2 个传输请求后出现“重复资源”错误