Python 在1D中转换数据帧2D

Python 在1D中转换数据帧2D,python,pandas,Python,Pandas,如何转换以下数据帧: m1,d1 m2,d2 m3,d3 m4,d4 ... 20-40 40-60 60-80 80-100 0 [0.986, 1.0] [1.0, 0.707] [0.986, 0.0] [0.972, 0.5] ... 0 0 0.655 1.0 1 [1.0, 0.0] [0.958, 0.0] [1.0, 0.516] [0.972

如何转换以下数据帧:

            m1,d1         m2,d2         m3,d3         m4,d4  ... 20-40  40-60  60-80  80-100
0    [0.986, 1.0]  [1.0, 0.707]  [0.986, 0.0]  [0.972, 0.5]  ...     0      0  0.655     1.0
1      [1.0, 0.0]  [0.958, 0.0]  [1.0, 0.516]  [0.972, 0.5]  ...     0      0  0.724     1.0
2  [0.958, 0.447]  [0.972, 1.0]  [1.0, 0.516]  [0.901, 1.0]  ...     0      0  0.724     1.0
3  [0.972, 0.894]  [0.972, 1.0]  [0.928, 1.0]  [1.0, 0.354]  ...     0      0  1.000     0.0
在阵列1d波纹管中:

            m1,d1         m2,d2         m3,d3         m4,d4     ... 20-40  40-60  60-80  80-100
0         0.986, 1.0   1.0, 0.707    0.986, 0.0     0.972, 0.5  ...     0    0    0.655    1.0
输出:

脚本:

注:目标是在神经元层插入,以便使用 基于keras(神经网络)的二元分类


使用numpy可以很容易地完成这项工作

np.hstack(Ninput)
import pandas as pd

Ninput = [[[0.986, 1.0], [1.0, 0.707], [0.986, 0.0], [0.972, 0.5], [0.862, 0.408]], [[1.0, 0.0], [0.958, 0.0], [1.0, 0.516], [0.972, 0.5], [0.812, 1.0]], [[0.958, 0.447], [0.972, 1.0], [1.0, 0.516], [0.901, 1.0], [0.9, 0.204]], [[0.972, 0.894], [0.972, 1.0], [0.928, 1.0], [1.0, 0.354], [1.0, 0.816]]]

Noutput = [[0, 0, 0, 0.655, 1.0], [0, 0, 0, 0.724, 1.0], [0, 0, 0, 0.724, 1.0], [0, 0, 0, 1.0, 0.0]]

def conversionDataframe(dataNeuronInput,dataNeuronOutput):
    """ Converts data to a dataframe pandas """
    ni = pd.DataFrame(data= dataNeuronInput)
    ni.columns = ['m1,d1', 'm2,d2', 'm3,d3', 'm4,d4', 'm5,d5']

    no = pd.DataFrame(data= dataNeuronOutput)
    no.columns = ['0-20', '20-40', '40-60', '60-80', '80-100']

    return pd.concat([ni, no], axis=1)

dataFrameNoBinary = conversionDataframe(Ninput, Noutput)

print(dataFrameNoBinary.values.ravel('F'))
np.hstack(Ninput)