Я хочу создать фрейм данных, как показано ниже.
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
Я использовал ниже образец 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
Но я не мог получить вывод согласно моей логике c. Значение 2 в столбце C3 принадлежит 1 и 4 столбца C2. Также значение 2 в столбце C2 относится к 1 и 2 столбца C1. Направь меня, чтобы получить результат согласно моей логике c. Спасибо.