본문 바로가기
반응형

개발 Tools/파이썬_Pandas & Numpy21

파이썬 Pandas reindex (행 지정, 행 변경) reindex 인덱스를 새로 지정할 수 있다. 기존의 행 이름과 다른 인덱스를 부여하면 NaN로 채워진다. 다른 숫자로 채우고 싶으면 fill_value= 를 지정해주면 된다. import pandas as pd df = pd.DataFrame([[0, 1, 2], [3, 4, 5]], index=["r0", "r1"], columns=["c0", "c1", "c2"]) print(df) 출력 c0 c1 c2 r0 0 1 2 r1 3 4 5 index를 변경해 줬기 때문에 값도 변한다. 이름을 바꾸고 싶다면, rename을 쓰면 된다. 이름이 동일 하다면, 값을 그대로다. new_index = ["R0", "R1", "R2"] df1 = df.reindex(new_index) print(df1) 출력 c.. 2023. 2. 23.
파이썬 Pandas set_index ( 행열 지정, 행 변경) set_index 원하는 행과 열을 지정할 수 있다. set_index()를 사용한다. import pandas as pd df = pd.DataFrame([[0, 1, 2], [3, 4, 5]], index=["r0", "r1"], columns=["c0", "c1", "c2"]) print(df) 출력 c0 c1 c2 r0 0 1 2 r1 3 4 5 열 c0를 행으로 지정하는 방법이다. df1 = df.set_index("c0") print(df1) 출력 c1 c2 c0 0 1 2 3 4 5 행이 하나만 있으라는 법은 없다. 2개의 행을 지정하는 방법은 아래와 같다. df2 = df.set_index(["c0", "c1"]) print(df2) 출력 c2 c0 c1 0 1 2 3 4 5 2023. 2. 21.
파이썬 Pandas loc, iloc ( 행열 추출, 특정 값 추출 ) loc, iloc loc는 인덱스의 이름을 이용하여 추출하고, iloc는 인덱스의 번호를 기준으로 가져온다. 두 개 중 하나만 잘 써서 가져오면 된다. 둘 다 알 필요는 없다. 필자는 loc를 이용하여 가져온다. "[]"가 하나면 1차원이고, "[ [] ]"이면 2차원이다. import pandas as pd df = pd.DataFrame([[0, 1, 2], [3, 4, 5]], index=["r0", "r1"], columns=["c0", "c1", "c2"]) print(df) 츨력 c0 c1 c2 r0 0 1 2 r1 3 4 5 기본형은 위와 같다. "ro"의 이름을 가진 행을 가져오는 loc나 0번째 index를 가져오는 iloc나 똑같다. print(df.loc["r0"]) print(df... 2023. 2. 21.
파이썬 Pandas drop (삭제) drop 삭제한다. axis = 0은 행(row), axis = 1은 열(col)이다. 마찬가지로 inplace=True를 해주면 자동으로 적용된다. 아니면 df = df.drop() 하면 된다. 2개 이상의 행 또는 열을 삭제하기 위해선 "[]" 으로 감싸줘야 한다. import pandas as pd df = pd.DataFrame([[0, 1, 2], [3, 4, 5]], index=["r0", "r1"], columns=["c0", "c1", "c2"]) print(df) 출력 c0 c1 c2 r0 0 1 2 r1 3 4 5 위와 같은 기본형에서 아래처럼 행을 지우거나, 열을 지운다. df.drop("r0", inplace=True) print(df) 출력 c0 c1 c2 r1 3 4 5 df.d.. 2023. 2. 21.
파이썬 Pandas rename (행열 이름 변경) rename index, column의 이름을 딕셔너리 형태로 묶어서 바꾼다. 이때 inplace=Ture를 지정해야 변경된다. inplace를 지정하지 않은 index는 바뀌지 않았다. import pandas as pd df = pd.DataFrame([[0, 1, 2], [3, 4, 5]], index=["r0", "r1"], columns=["c0", "c1", "c2"]) print(df) 출력 c0 c1 c2 r0 0 1 2 r1 3 4 5 각각의 행과 열의 이름을 바꿔준다. inplace=True를 해줘야 한다. 안해주면 바뀌지 않는다. 아니면, df = df.rename() 요로콤하면 된다. df.rename(columns={"c0": "col0", "c1": "col1", "c2": "c.. 2023. 2. 21.