我有一个类似这样的pandas数据框:
id foo
0 A col1
1 A col2
2 B col1
3 B col3
4 D col4
5 C col2
我想基于 foo
列中的唯一值创建四个额外列。新列名分别为col1
、col2
、col3
和col4
。
id foo col1 col2 col3 col4
0 A col1 75 20 5 0
1 A col2 20 80 0 0
2 B col1 82 10 8 0
3 B col3 5 4 80 11
4 D col4 0 5 10 85
5 C col2 12 78 5 5
创建列的逻辑如下:
如果
foo
= col1
,则 col1
包含在 75-100
之间的随机数,其他列 (col2
, col3
, col4
) 包含随机数,以便每行的总和为 100
。我可以手动创建一个新列并分配一个随机数,但我不确定如何包含每行总和为
100
的逻辑。感谢任何帮助!