python - 通过根据另一个数据框上的条件选择 pandas 数据框列来创建一个 numpy 数组
问题描述
我是 Pandas 的新手,我正在尝试几个小时来解决我的问题,但我还没有设法解决它。我见过几个 stackoverflow 对话,但没有一个与我的问题相似。
我有两个数据框,形状 (256, 800) 和标签 (1, 800) 的训练,每个标签对应一个数字 0-9,我想创建 10 个 numpy 数组,每个数组只包含训练数据我喜欢。
如果第一个训练示例 (1*256) 的标签为 0,则将训练的列 (1*256) 分配给第一个 numpy 数组,依此类推。即迭代一个数据帧分配给一个基于条件的numpy数组到另一个数据帧。例如,如果我有 89 个“零”,那么“零”numpy 数组将是 256*89..
提前致谢
解决方案
这应该有效: dict 是字典,键是指标签。我假设标签是单行多列数据框,这就是我转置它的原因。
dict = {0:[], 1:[], 2:[], 3:[], 4:[], 5:[], 6:[], 7:[], 8:[], 9:[]}
for i in range(df.shape[0]):
dict[labels.T.[i]].append(df.iloc[i, :])
推荐阅读
- mysql - Pyspark 在读取 MySQL 数据库时出现时间戳问题
- php - 无法使用“Storage::delete”删除文件
- c# - 是否可以将一个类的属性分配给该类的实例?
- java - Java Enum 查找给定 null 的值
- java - 提取单词后,如何获得剩余部分?
- log4j2 - Apache karaf4.2.3 - 每个包的单独日志文件
- sql - 加入两个没有相同列名的表
- c# - 如何在 Fellow-Oak Dicom 中为客户设置证书?
- c - 我似乎不知道如何使用 strcat 连接两个 char 指针字符串,这不正确吗?
- docker - 无法在马戏团下启动 docker