Анализ многоиндексного кадра данных Pandas из приложения списка кортежейPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Анализ многоиндексного кадра данных Pandas из приложения списка кортежей

Сообщение Anonymous »

Problem/Task: create a function that inputs a pandas data frame represented by the markdown in Fig 1 and converts/outputs it to a list with the structure represented in Fig 2.
I look forward to any feedback/support anyone might have!
Fig 1: Pandas Data Frame (Function Input) as Markdown



resources
('Widget A (idx = 0)', 't1')
('Widget A (idx = 0)', 't2')
('Widget A (idx = 0)', 't3')
('Widget A (idx = 0)', 't4')
('Widget A (idx = 0)', 't5')
('Widget A (idx = 0)', 't6')
('Widget A (idx = 0)', 't7')
('Widget A (idx = 0)', 't8')
('Widget A (idx = 0)', 't9')
('Widget A (idx = 0)', 't10')
('Widget A (idx = 0)', 't11')
('Widget A (idx = 0)', 't12')
('Widget A (idx = 0)', 't13')
('Widget A (idx = 0)', 't14')
('Widget A (idx = 0)', 't15')
('Widget B (idx = 1)', 't1')
('Widget B (idx = 1)', 't2')
('Widget B (idx = 1)', 't3')
('Widget B (idx = 1)', 't4')
('Widget B (idx = 1)', 't5')
('Widget B (idx = 1)', 't6')
('Widget B (idx = 1)', 't7')
('Widget B (idx = 1)', 't8')
('Widget B (idx = 1)', 't9')
('Widget B (idx = 1)', 't10')
('Widget B (idx = 1)', 't11')
('Widget B (idx = 1)', 't12')
('Widget B (idx = 1)', 't13')
('Widget B (idx = 1)', 't14')
('Widget B (idx = 1)', 't15')
('Widget C (idx =2)', 't1')
('Widget C (idx =2)', 't2')
('Widget C (idx =2)', 't3')
('Widget C (idx =2)', 't4')
('Widget C (idx =2)', 't5')
('Widget C (idx =2)', 't6')
('Widget C (idx =2)', 't7')
('Widget C (idx =2)', 't8')
('Widget C (idx =2)', 't9')
('Widget C (idx =2)', 't10')
('Widget C (idx =2)', 't11')




m_1
10
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
23
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
17
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan


m_2
nan
nan
15
nan
nan
nan
17
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
30
nan
nan
nan
23
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
24
nan
nan
nan
nan
nan
nan
nan
nan


m_3
nan
nan
23
nan
nan
nan
15
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
26
nan
nan
nan
21
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
22
nan
nan
nan
nan
nan
nan
nan
nan


m_4
nan
nan
27
nan
nan
nan
19
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
22
nan
nan
nan
18
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
29
nan
nan
nan
nan
nan
nan
nan
nan


m_5
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
15
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
21
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
23
nan
nan
nan
nan


m_6
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
16
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
16
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
25
nan
nan
nan
nan


m_7
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
23
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
14
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
30
nan
nan
nan
nan


m_8
nan
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
nan
nan
nan
13
nan
nan
nan
13
nan
nan


m_9
nan
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
nan
nan
nan
13
nan
nan
nan
13
nan
nan


m_10
nan
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
nan
nan
nan
13
nan
nan
nan
13
nan
nan


m_11
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
14
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
12
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
10


m_12
nan
1
nan
1
nan
1
nan
1
nan
1
nan
1
nan
1
nan
nan
1
nan
1
nan
1
nan
1
nan
1
nan
1
nan
1
nan
nan
1
nan
1
nan
1
nan
1
nan
1
nan



Fig 2: Example of Target Data Structure (Function Output) for List
`

Код: Выделить всё

components = [

# widget A -> [task_0...task_i] -> [(machine_id_0, dur_0)...machine_id_i, dur_i]
[
[(1, 10)], #t1
[(12, 1)], #t2
[(2, 15), (3, 23), (4,27)], #t3
[(12, 1)], #t4
[(8,10), (9,10), (10,10)], #t5
[(12, 1)], #t6
[(2, 17), (3, 15), (4,19)], #t7
[(12, 1)], #t8
[(8,10), (9,10), (10,10)], #t9
[(12, 1)], #t10
[(5, 15), (6, 16), (7,23)], #t11
[(12, 1)], #t12
[(8,10), (9,10), (10,10)], #t13
[(12, 1)], #t14
[(11,14)], #t15

],

# widget B -> [task_0...task_i] -> [(machine_id_0, dur_0)...machine_id_i, dur_i]
[
[(1, 23)], #t1
[(12, 1)], #t2
[(2, 30), (3, 26), (4,22)], #t2
[(12, 1)], #t2
[(8,15), (9,15), (10,15)], #t3
[(12, 1)], #t2
[(2, 23), (3, 21), (4,18)], #t4
[(12, 1)], #t2
[(8,15), (9,15), (10,15)], #t5
[(12, 1)], #t2
[(5, 21), (6, 16), (7,14)], #t6
[(12, 1)], #t2
[(8,15), (9,15), (10,15)], #t7
[(12, 1)], #t2
[(11,12)], #t8

],

# widget C -> [task_0...task_i] -> [(machine_id_0, dur_0)...machine_id_i, dur_i]
[
[(1, 17)], #t1
[(12, 1)], #t2
[(2, 24), (3, 22), (4,29)], #t3
[(12, 1)], #t4
[(8,13), (9,13), (10,13)], #t5
[(12, 1)], #t6
[(2, 23), (3, 25), (4,30)], #t7
[(12, 1)], #t8
[(8,13), (9,13), (10,13)], #t9
[(12, 1)], #t10
[(11,10)], #t11

],]
`

Подробнее здесь: https://stackoverflow.com/questions/793 ... -appendage
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»