0
私はこのようなデータテーブルを持っています。パンダ:特定の列が変更された重複行を作成する
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
を変更せずに新しい行を1つ作成し、B = 0
を作成します。B#
列のn >= 1
がゼロである場合- 、次いで
n
新しい行、A/n
及び非ゼロB#
列の1に等しいB
に変更A
各を作成します。
C
は放置されます。私は新しい行の順序について気にしない。私が扱っている実際のデータテーブルは数十メガバイトなので、可能であれば、不要な繰り返しコピーを避けるソリューションを好むでしょう。