중화사전망 - 자전 검색 - Txt 의 팬더 사전
Txt 의 팬더 사전
그럼, 데이터 청소는 도대체 무엇일까요?
일반적으로 획득한 원시 데이터는 유효하지 않은 정보, 열 이름 비준수, 형식 불일치, 중복 값, 누락된 값, 비정상적인 값 등 다양한 문제가 있기 때문에 분석에 직접 사용할 수 없습니다. .....
이 문서에서는 파이썬과 함께 제공되는 Pandas 및 NumPy 라이브러리를 사용하여 데이터를 정리하는 몇 가지 실용적인 기술에 대해 설명합니다.
이것은 데이터를 읽는 엔트리 레벨 명령입니다. 데이터 세트를 분석할 때는 실제로 많은 정보가 필요하지 않습니다. 따라서 불필요한 행이나 열을 삭제해야 합니다. Csv 파일의 경우 가져올 때 pd.read_csv () 에서 매개 변수를 설정하면 됩니다.
먼저 공식 문서에 제시된 상세한 설명을 느껴봅시다. 안에는 상당히 많은 매개변수가 있다. 이 기사에서는 몇 가지 일반적인 것만 소개합니다. 만약 네가 관심이 있다면, 너는 이 서류를 잘 연구할 수 있다. 이러한 매개변수는 여전히 사용하기 쉽고 가져오기 후 많은 작업을 절약할 수 있습니다.
원시 데이터의 열 이름이 이해하기 쉽지 않거나 간결하지 않은 경우에 사용할 수 있습니다. Rename () 메서드를 사용하여 수정할 수 있습니다. 여기서는 영어 열 이름을 중국어로 변경하고 먼저 사전을 만들고 수정할 열 이름을 정의한 다음 rename () 메서드를 호출합니다.
데이터의 기본 인덱스는 0 부터 시작하는 정렬된 정수이지만 열을 새 인덱스로 설정하려면 read_csv () 에서 index_col 및 매개 변수의 메서드를 사용할 수 있습니다. 세트 색인 ().
또한 데이터가 삭제되거나 재구성되면 색인이 0 부터 순차적으로 정렬되도록 색인을 재설정할 수 있습니다.
문자열 str 작업은 열에 항상 불필요한 문자가 포함되어 있기 때문에 유용합니다. 일반적인 방법은 다음과 같습니다.
Str.lower () 는 대문자를 소문자로 변환합니다. 마찬가지로 str.upper () 는 소문자를 대문자로 변환하고 예제에서 대문자로 표시된 인덱스를 소문자로 변환합니다.
초기 대문자 설정
Str.replace ("a", "") 는 특정 문자를 대체합니다. 여기서 열 a 는 제거되고 빈 문자로 바뀝니다.
문자열에서 선행 및 후행 공백을 제거합니다.
Str.split ('x') 는 문자열의' x' 문자를 구분 기호로 사용하여 문자열을 목록으로 구분합니다. 여기서 열의 값을 ""로 나눕니다. " 。
Str.get () 은 목록에서 한 위치의 값을 선택합니다. 그런 다음 str. get(0) 을 사용하여 목록의 이전 위치에서 값을 제거하고 새 열을 생성합니다.
Str.contains () 는 문자가 있는지 여부를 확인하고 부울 값을 반환합니다.
Str.find ("-") 는 문자열에 "-"가 포함되어 있는지 여부를 감지하고, 포함되어 있는 경우 하위 문자열의 시작 위치에 대한 인덱스 값을 반환합니다. 그렇지 않으면-1 을 반환합니다.
문자열 조작의 기본 방법을 학습한 후 NumPy 를 결합하여 문자열 조작의 효율성을 높이는 방법을 살펴보겠습니다.
우리는 결합할 수 있다. Pandas 의 str () 메서드와 Excel 의 IF () 매크로를 벡터화하는 NumPy 의 np.where 함수 구문은 다음과 같습니다.
조건이 참인 경우 실행되고, 그렇지 않은 경우 실행됩니다. 여기서 조건은 클래스 배열의 객체이거나 부울 표현식일 수 있으며, np.where 함수를 사용하여 벡터화 계산 및 판단을 위해 여러 조건을 중첩할 수도 있습니다.
다음으로 열의 문자열을 정리해야 합니다. 순환과 를 제외하고. Str () 메서드에서는 전체 DataFrame 의 모든 행과 열에 있는 각 요소로 작동하는 applymap () 메서드를 사용하도록 선택할 수도 있습니다.
먼저 요소에서 유효한 정보만 추출하는 get _ city state(item) 함수를 정의합니다. 그런 다음 이 함수를 applymap () 에 전달하여 df3 에 적용합니다. 훨씬 깨끗해 보이지 않나요? 결과는 다음과 같습니다.
만약 네가 그것에 대해 들어본 적이 없다면, 나는 그것의 중요성을 강조할 수 없다. 다음 명령을 입력합니다.
Df 1 이 변경되었음을 알 수 있습니다. 이는 df2 = df 1 이 df 1 의 사본을 생성하여 df2 에 할당하는 대신 df 1 에 대한 포인터를 설정하기 때문입니다. 따라서 df2 에 대한 변화라면 그에 따라 df 1 에도 적용됩니다. 이 문제를 해결하기 위해 다음과 같이 할 수 있습니다.
다음과 같은 작업도 수행할 수 있습니다.
이 명령은 값의 분포를 확인하는 데 사용됩니다. C 열의 값과 각 값의 빈도를 확인하려는 경우 다음을 사용할 수 있습니다.
몇 가지 유용한 팁/매개변수는 다음과 같습니다.
Lsin () 은 데이터 프레임을 필터링하는 데 사용됩니다. Isin () 을 사용하면 특정 열에서 특정 (또는 여러) 값을 가진 행을 선택할 수 있습니다.
SQL 에서는 select * from ... 에서 id in ('a001',c022, ...) 을 사용하여 지정된 id 를 가진 레코드를 가져올 수 있습니다. Pandas 에서 비슷한 일을 하고 싶다면, 다음을 사용할 수 있습니다.
Select_dtypes () 의 기능은 dtypes 를 기준으로 데이터 상자 열의 서브세트를 반환하는 것입니다. 이 함수의 매개 변수는 특정 데이터 유형의 모든 열을 포함하거나 특정 데이터 유형의 열을 제외하도록 설정할 수 있습니다.
Pivot_table () 은 Pandas 에서도 매우 유용한 함수입니다. Excel 에서 pivot_table () 을 사용하는 방법을 알고 있다면 쉽게 시작할 수 있습니다.
샘플 누락 비율의 분포를 계산해야 하는 경우 axis= 1 매개변수를 추가하기만 하면 됩니다.
그룹화에는 중복 값과 비중복 값의 두 가지 유형이 있습니다. 중복 값이 없는 경우.
먼저 Mt 열별로 그룹화한 다음 idxmax 함수를 사용하여 그룹화된 데이터 상자의 최대 수가 있는 열을 꺼낸 다음 iloc 위치 인덱스를 사용하여 행을 제거합니다. 중복 값이 있습니다.
Id 를 그룹화한 후 점수에 등급 함수를 적용합니다. 점수가 같으면 같은 순위를 부여하고 순위가 1 인 데이터를 꺼냅니다.
이 기사에서는 두 가지 효과적인 그룹 내 정렬 방법에 대해 설명합니다.
이런 방식으로 세 번째 열을 변환하면 0 을 나타내는 밑줄이 포함되어 있고 pandas 에서 자동으로 밑줄을 확인할 수 없기 때문에 오류가 발생합니다. 이 문제를 해결하려면 to_numeric () 함수를 사용하여 세 번째 열을 처리하고 pandas 에서 부적합한 입력을 NaN 으로 변환하도록 할 수 있습니다.
Df = df. apply(PD. to _ numeric, errors =‘concert‘'). 필나 (0)
메서드 1: 실제로 필요한 열만 읽고 usecols 매개 변수를 사용합니다.
방법 2: dtype 매개 변수를 지정하여 범주 데이터가 포함된 객체 열을 범주 데이터 유형으로 변환합니다.
이 글의 내용이 너의 공부나 일에 약간의 도움을 주고 매일 조금씩 발전하기를 바란다. 화이팅 ~