1. 행/열의 추가
1) 행의 추가
- DataFrame의 loc() 메서드를 이용해 행을 추가
- DataFrame.loc['새로운 행 이름'] = value or List
- value를 전달할 경우 해당 행에 모두 동일한 값이 들어간다
- List를 전달할 경우 행에 값이 차례로 들어간다
- 전달되는 리스트의 개수는 열의 개수와 동일해야 한다
① 값의 추가
df = pd.DataFrame([[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15]],
index=list('xyz'),
columns=list('ABCDE'))
df.loc['v'] = 30
print(df)
② 리스트의 추가
df.loc['w'] = [16, 17, 18, 19, 20]
print(df)
2) 열의 추가
- df['새로운 열 이름'] = value or List
- value를 전달할 경우 해당 열에 모두 동일한 값이 들어간다
- List를 전달할 경우 열에 값이 차례로 들어간다
df['F'] = [6, 11, 16, 31, 21]
print(df)
2. 행/열의 선택
1) 행의 선택
① loc() 메서드를 이용한 이름을 기준으로 선택
- 행의 이름을 전달하면 Series를 반환한다
- 복수의 행을 선택하는 경우 리스트를 loc에 전달한다
- 복수의 행을 선택하는 경우 DataFrame을 반환한다
- 슬라이싱을 사용할 수 있다
슬라이싱의 마지막 행에 해당하는 행도 포함한다
print(df.loc['x'])
print(df.loc[['x', 'y', 'w']])
print(df.loc['x':'v'])
② iloc을 이용한 인덱스를 기준으로 선택
- 행의 index를 전달하면 Series를 반환한다
- 복수의 행을 선택하는 경우 인덱스 리스트를 loc에 전달한다
- 마찬가지로 복수의 행인 경우 DataFrame을 반환한다
- 슬라이싱을 사용할 수 있다
슬라이싱의 마지막 행은 포함되지 않는다
print(df.iloc[1])
print(df.iloc[[1, 4]])
print(df.iloc[0: 3])
3. 원소 값의 선택
- 하나의 원소를 선택하는 경우 값을 반환
- 슬라이싱을 이용해 복수의 값을 선택하는 경우 Series 또는 DataFrame을 반환
① loc을 이용한 원소값 선택
print(df.loc['x', 'C']) # 3
df.loc['x':'v', 'A']
df.loc['x':'v', 'A':'D']
② iloc을 이용한 원소값 선택
print(df.iloc[1, 1]) # 7
print(df.iloc[0:4, 0])
print(df.iloc[0:4, 0:4])
4. 행과 열의 전치(Transpose)
- DataFrame의 transpose() 메서드 또는 T를 이용해 행과 열의 순서를 변경할 수 있다
- inplace 파라미터가 없어 값을 바꾸려면 대입 연산을 사용해야 한다
print('변경전')
print(df)
print()
df = df.T
print('변경후')
print(df)
print()
df = df.transpose()
print('원래대로 변경')
print(df)
'Python > Syntax' 카테고리의 다른 글
[Python] 논리 연산자와 Bitwise 연산자 차이점 (0) | 2022.03.16 |
---|---|
[Python] Bitwise 연산자를 이용한 홀/짝 판단 (0) | 2022.03.16 |
[Pandas] DataFrame - 1 (자료형, 생성, 행/열 이름변경, 행/열 삭제) (0) | 2022.01.10 |
[Python] Pickle (0) | 2021.12.11 |
read_excel로 xlsx 파일 열기 (0) | 2021.11.21 |