我是Pandas的新手,我正在努力解决自己的问题,但我还没有解决。我见过几次stackoverflow对话,但没有一个类似于我的问题。
我有两个数据框,形状为训练的(256,800)和标签(1,800),每个标签对应一个数字0-9,我想创建10个numpy数组,每个数组仅包含训练第i位数据。
如果第一个训练示例(1 * 256)的标签为0,则将训练的列(1 * 256)分配给第一个numpy数组,依此类推。即根据另一个数据框的条件来迭代分配给numpy数组的一个数据框。例如,如果我有89个“零”,则“零” numpy数组将为256 * 89。.
预先感谢
答案 0 :(得分:0)
这应该起作用: 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, :])