我想创建一个数据帧,如下所示
C1 C2 C3 C4
1 1 1 1
1 2 2 2
1 2 2 3
1 2 3 4
1 2 3 5
2 3 4 6
3 4 5 7
C4列应该是唯一的值。C4列值应属于C3列中的任意一列。C3列值应属于C2列中的任意一列。C2列值应属于C1列中的任意一列。列值应为C1<;C2<;C3<;补体第四成份。这些值可能是随机的
我使用了下面的示例Python代码
import pandas as pd
import numpy as np
C1 = [1, 2]
C2 = [1, 2, 3,4]
C3 = [1, 2, 3, 4,5]
C4 = [1,2,3,4,5,6,7]
Z = [C1,C2,C3,C4]
n = max(len(x) for x in Z)
a = [np.hstack((np.random.choice(x, n - len(x)), x)) for x in Z]
df = pd.DataFrame(a, index=['C1', 'C2', 'C3','C4']).T.sample(frac=1)
print (df)
下面是我的输出
C1 C2 C3 C4
1 4 2 2
1 3 4 6
2 1 2 4
1 2 5 1
2 4 5 7
1 2 3 5
2 2 1 3
但是我无法按照我的逻辑得到输出。C3列中的值2属于C2列的1和4。C2列中的值2也属于C1列的1和2。指导我按照我的逻辑获取输出。谢谢
目前没有回答
相关问题 更多 >
编程相关推荐