У меня есть таблица данных, подобная этой.Pandas: создать повторяющиеся строки с определенными столбцами, измененными
A B1 B2 B3 C
3 1 2 0 'foo'
5 1 4 5 'bar'
7 0 3 0 'baz'
8 0 0 0 'foo'
Я хотел бы создать новую таблицу данных, которая выглядит следующим образом:
A B C
1.5 1 'foo'
1.5 2 'foo'
1.67 1 'bar'
1.67 4 'bar'
1.67 5 'bar'
7 3 'baz'
8 0 'foo'
в соответствии со следующими правилами:
- Если ни один из
B#
столбцов не равен нулю, создайте одну новую строку сA
без изменений иB = 0
. - Если
n >= 1
изB#
столбцов равны нулю, а затем создатьn
новые строки, каждая из которыхA
изменено наA/n
иB
равным одному из ненулевыхB#
столбцов.
C
Осталось в покое. Меня не волнует порядок новых строк. Фактическая таблица данных, с которой я имею дело, - это десятки мегабайт, поэтому, если возможно, я бы предпочел решения, которые избегают ненужного повторного копирования.