파이썬 행렬 관련 질문 드립니다.

조회수 945회

안녕하세요, 행렬 관련해서 질문 하려고 합니다. 예를 들어 아래 코드에서 'a','b','c','d','e' 순서가 변경이 되면 list의 원소 순서도 연결되어 같이 재배열이 됐으면 하는데 어떻게 하나요 ?

index=['a','b','c','d','e']
lst = [[0,0,1,0,1,0],
       [0,1,1,0,0,0],
       [1,0,0,1,0,0],
       [0,1,1,0,1,0],
       [1,0,0,1,0,1]]
#print 출력시
index=['b','a','c','d','e'] # 변경후
lst = [[0,0,1,0,1,0], #인덱스의 순서가 변경되면 lst의 순서도 바뀌도록 만들고 싶습니다.
       [1,0,1,0,0,0],
       [0,1,0,1,0,0],
       [1,0,1,0,1,0],
       [0,1,0,1,0,1]]
  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 인덱스는 5개고 요소는 6개인데요? ...음...행수는 5개네요? 행의 위치를 바꾸고 싶다는 건가요? 정영훈 2018.9.2 21:39

1 답변

  • 아마도 열도 6개겠죠...

    행렬 연산은 pandas 와 numpy 를 사용하면 편하게 작업할 수 있습니다.

    아래와 같이 작업할 수 있습니다.

    index=['a','b','c','d','e','f']
    lst = [[0,0,1,0,1,0],
           [0,1,1,0,0,0],
           [1,0,0,1,0,0],
           [0,1,1,0,1,0],
           [1,0,0,1,0,1]]
    
    import pandas
    
    pd = pandas.DataFrame(lst, columns=index)
    print(pd)
    print(pd.reindex(columns=['b','a','c','d','e','f']))
    
       a  b  c  d  e  f
    0  0  0  1  0  1  0
    1  0  1  1  0  0  0
    2  1  0  0  1  0  0
    3  0  1  1  0  1  0
    4  1  0  0  1  0  1
    
       b  a  c  d  e  f
    0  0  0  1  0  1  0
    1  1  0  1  0  0  0
    2  0  1  0  1  0  0
    3  1  0  1  0  1  0
    4  0  1  0  1  0  1
    
    • 아 예제 코드는 python3 기반이지만 pandas 는 python 2.7 도 지원합니다. 정영훈 2018.9.2 22:00

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)