이와 같은 데이터 프레임 (df1)이 있습니다.
f1 f2 f3 f4 f5
d1 1 0 1 1 1
d2 1 0 0 1 0
d3 0 0 0 1 1
d4 0 1 0 0 1
d1 ... d4 열은 행 이름이고 f1 ... f5 행은 열 이름입니다.
sample (df1)을 수행하기 위해 df1과 동일한 개수가 1 인 새 데이터 프레임을 얻습니다. 따라서 1의 개수는 전체 데이터 프레임에 대해 보존되지만 각 행이나 각 열에 대해서는 보존되지 않습니다.
무작위 화를 행 단위 또는 열 단위로 수행 할 수 있습니까?
각 열에 대해 df1을 열 단위로 무작위 화하고 싶습니다. 즉, 각 열의 1 개 수가 동일하게 유지됩니다. 각 열은 한 번 이상 변경해야합니다. 예를 들어, 다음과 같은 무작위 df2를 가질 수 있습니다. (각 열의 1 개수는 동일하게 유지되지만 각 행의 1 개수는 다릅니다.
f1 f2 f3 f4 f5
d1 1 0 0 0 1
d2 0 1 0 1 1
d3 1 0 0 1 1
d4 0 0 1 1 0
마찬가지로 각 행에 대해 df1을 행 단위로 무작위 화하고 싶습니다. 각 행의 1 중 1은 동일하게 유지되며 각 행을 변경해야합니다 (그러나 변경된 항목의 수는 다를 수 있음). 예를 들어, 무작위 df3은 다음과 같을 수 있습니다.
f1 f2 f3 f4 f5
d1 0 1 1 1 1 <- two entries are different
d2 0 0 1 0 1 <- four entries are different
d3 1 0 0 0 1 <- two entries are different
d4 0 0 1 0 1 <- two entries are different
추신. 두 개의 열을 무작위로 지정하는 것에 대한 이전 질문에 대한 이전 답변에 대해 Gavin Simpson, Joris Meys 및 Chase의 도움에 감사드립니다.