如何将列表分成几行

时间:2019-01-30 12:40:40

标签: python pandas

鉴于以下数据框,我该如何拆分细分。列出单个行?

cmdEx.ExecuteNonQuery("INSERT INTO PMS_CALC_SCHEDULE (PMS_CALC_SCHEDULE_UID, USER_UID, SCHEDULED_DATE, PMS_CALC_STATUS_UID, CALCULATION_START_DATE, CALCULATION_END_DATE, STATUS_MESSAGE, PROGRESS) VALUES ((SELECT COALESCE(MAX(PMS_CALC_SCHEDULE_UID), 0) + 1 FROM PMS_CALC_SCHEDULE), 127, '2009-06-15T13:45:30', 0, '2009-06-15T13:45:30','2010-06-15T13:45:30', 'TEST DELETE THIS ROW', 0 )"); //(SELECT MAX(PMS_CALC_SCHEDULE_UID) + 1 FROM PMS_CALC_SCHEDULE)

我正在寻找的输出片段如下:

Connector Pin   Connector  Pin         Adj.      Color                                    
F123      1        F123    1         [2, 6, 7]     R
          2        F123    2   [1, 3, 6, 7, 8]     O
          3        F123    3   [2, 4, 7, 8, 9]     Y
          4        F123    4  [3, 5, 8, 9, 10]    GR
          5        F123    5        [4, 9, 10]     L
          6        F123    6         [1, 2, 7]     R
          7        F123    7   [1, 2, 3, 6, 8]     B
          8        F123    8   [2, 3, 4, 7, 9]     L
          9        F123    9  [3, 4, 5, 8, 10]    GR
          10       F123   10         [4, 5, 9]     O
C137      1        C137    1            [2, 3]     R
          2        C137    2            [1, 3]     R
          3        C137    3            [1, 2]     R

我认为可行的代码如下,它给我的错误是“未实现同时合并两个多索引”

Connector Pin   Connector  Pin         Adj.      Color                                    
F123      1        F123    1           2           R
          1        F123    1           6           R
          1        F123    1           7           R

1 个答案:

答案 0 :(得分:3)

我认为$('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'year,month,basicWeek,basicDay' } .... 与列MultiIndexConnector类似,因此我建议使用Pinreset_index将其删除:

drop=True

然后将具有pop的列转换为df = df.reset_index(drop=True) ,通过stack进行整形,删除第二级并将DataFrame更改为相同的列名称:

rename

可能join为原始版本:

s = (pd.DataFrame(df.pop('Adj.').values.tolist())
        .stack()
        .reset_index(level=1, drop=True)
        .rename('Adj.')
        .astype(int)
      )

也可以使用df = df.join(s).reset_index(drop=True) print (df.head(10)) Connector Pin Color Adj. 0 F123 1 R 2 1 F123 1 R 6 2 F123 1 R 7 3 F123 2 O 1 4 F123 2 O 3 5 F123 2 O 6 6 F123 2 O 7 7 F123 2 O 8 8 F123 3 Y 2 9 F123 3 Y 4 的解决方案,默认情况下,仅MultiIndex对最终join进行排序:

MultiIndex