일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 딥러닝
- Yes
- 알고리즘
- 보안
- 자바스크립트
- 버전관리
- 웹개발
- 인공지능
- 소프트웨어
- 데이터과학
- 자료구조
- 컴퓨터과학
- 프로그래밍언어
- 데이터분석
- I'm Sorry
- 컴퓨터비전
- 컴퓨터공학
- 데이터베이스
- 머신러닝
- 소프트웨어공학
- 프로그래밍
- 파이썬
- 데이터구조
- 사이버보안
- 클라우드컴퓨팅
- 네트워크
- 코딩
- 2
- 네트워크보안
- 빅데이터
- Today
- Total
스택큐힙리스트
선택한 특정 열을 새로운 DataFrame으로 복사하여 추출함 본문
내가 가진 판다 데이터프레임은 4개의 컬럼이 있고 이 중 3개의 컬럼만 있는 새로운 데이터프레임을 생성하고 싶다. 이 질문은 R이 아닌 판다스의 Extracting specific columns from a data frame 와 비슷하다. 다음 코드는 작동하지 않으며 오류를 일으키며 분명히 판다스적인 방법이 아니다.
import pandas as pd
old = pd.DataFrame({'A' : [4,5], 'B' : [10,20], 'C' : [100,50], 'D' : [-30,-50]})
new = pd.DataFrame(zip(old.A, old.C, old.D))
# raises TypeError: data argument can't be an iterator
팬더스는 어떤 방식으로 하는 것이 좋은가요?
답변 1
이것을 수행하는 방법이 있으며, 실제로 R과 비슷해 보입니다.
new = old[['A', 'C', 'D']].copy()
여기서 당신은 원래 데이터 프레임에서 원하는 열만 선택하여 그에 대한 변수를 만드는 것입니다. 새로운 데이터 프레임을 수정하려면 아마도 .copy()를 사용하여 SettingWithCopyWarning을 피해야 할 것입니다.
대안적인 방법은 기본적으로 복사본을 만드는 filter를 사용하는 것입니다.
new = old.filter(['A','B','D'], axis=1)
마지막으로, 원래 데이터 프레임의 열 수에 따라서는 drop을(를) 사용하여 더 간결하게 표현하는 것이 더 좋을 수 있습니다(이는 기본적으로 복사본을 생성합니다).
new = old.drop('B', axis=1)
답변 2
특정 선택된 열을 새로운 DataFrame으로 복사하여 추출하는 것은 데이터 분석에서 매우 중요합니다. 이 기능은 많은 유용한 용도로 활용됩니다. 예를 들어, 데이터 크기를 줄이기 위해 필요한 열만 추출하거나, 복사하여 원본 데이터를 변경하지 않는 등의 목적으로 사용됩니다.특정 선택된 열을 새로운 DataFrame으로 복사하여 추출하는 방법은 매우 간단합니다. 먼저, 추출할 열의 이름을 지정한 다음, .copy() 메서드를 사용하여 새로운 DataFrame을 생성합니다. 여기서 중요한 점은, 이 작업이 복사본을 생성하는 것이며, 원본 데이터로부터 독립적인 새로운 DataFrame을 생성한다는 것입니다.
데이터 추출은 Pandas의 데이터 조작 기능 중에서 가장 중요한 기능 중 하나입니다. 이를 활용하여 데이터를 처리하면 보다 정확하고 신뢰성 있는 결과를 얻을 수 있습니다. 또한, 많은 경우에는 필요한 열만 추출해서 작업하는 것이 메모리 사용량을 줄임과 동시에 더 빠르게 작업을 수행하는 데 도움이 됩니다.
결론적으로, 특정 선택된 열을 새로운 DataFrame으로 복사하여 추출하는 방법은 데이터 분석을 수행하는 데 필수적인 기능 중 하나입니다. 이를 통해 데이터를 보다 쉽게 처리하고 분석할 수 있으며, 정확한 결과를 추출할 수 있습니다. 따라서, 데이터 분석을 수행하는 모든 사용자는 이 기능을 숙지하고 적극적으로 활용하는 것이 좋습니다.