파이썬에서 데이터 토큰화 오류 C 오류

Zeeshan Afridi 2023년6월21일
  1. ParserError: 데이터 토큰화 오류입니다. C 오류파이썬
  2. ParserError: 데이터 토큰화 오류. C 오류파이썬
  3. ParserError: 데이터를 토큰화하는 동안 오류가 발생했습니다. C 오류
  4. 올바른 구분 기호를 사용하여 ParserError: 데이터 토큰화 오류. C 오류
  5. dropna()를 사용하여 ParserError: Error tokenizing data. C 오류
  6. fillna() 함수를 사용하여 NaN 값 채우기
파이썬에서 데이터 토큰화 오류 C 오류

어떤 목적으로든 데이터를 가지고 놀 때 데이터를 정리하는 것은 필수입니다. 즉, null 값을 채우고 유효하지 않은 항목을 제거하여 데이터를 정리하여 결과에 영향을 주지 않고 프로그램이 원활하게 실행되도록 합니다.

또한 ParserError: Error tokenizing data. C 오류는 혼합 데이터, 다른 수의 열 또는 단일 파일로 저장된 여러 데이터 파일과 같이 파일에 잘못된 데이터를 제공할 수 있습니다.

CSV 파일을 read_csv로 읽지만 다른 구분 기호와 줄 종결자를 제공하는 경우에도 이 오류가 발생할 수 있습니다.

ParserError: 데이터 토큰화 오류입니다. C 오류파이썬

논의한 바와 같이 ParserError: 데이터 토큰화 오류. C 오류는 Python 프로그램이 CSV 데이터를 구문 분석하지만 유효하지 않은 값, null 값, 채워지지 않은 열 등과 같은 오류가 발생할 때 발생합니다.

data.csv 파일에 이 데이터가 있고 오류가 있지만 pandas의 도움으로 데이터를 읽는 데 사용한다고 가정해 보겠습니다.

Name,Roll,Course,Marks,CGPA
Ali,1,SE,87,3
John,2,CS,78,
Maria,3,DS,13,,

코드 예:

import pandas as pd

pd.read_csv("data.csv")

출력:

ParserError: Error tokenizing data. C error: Expected 5 fields in line 4, saw 6

보시다시피 위의 코드는 ParserError: Error tokenizing data. C 오류 data.csv 파일에서 데이터를 읽는 동안 컴파일러가 4 줄에서 5 필드를 예상했지만 대신 6을 얻었음을 나타냅니다.

오류 자체는 자명합니다. 오류의 정확한 지점을 표시하고 오류의 원인도 표시하므로 수정할 수 있습니다.

ParserError: 데이터 토큰화 오류. C 오류파이썬

지금까지 ParserError: 데이터 토큰화 오류. C 오류파이썬; 이제 어떻게 고칠 수 있는지 봅시다.

결과에 영향을 미치거나 프로그램 실행에 실패할 수 있으므로 데이터를 분석하기 전에 항상 데이터를 정리하는 것이 좋습니다.

데이터 정리는 유효하지 않은 데이터 입력, null 값 및 유효하지 않은 항목을 제거하는 데 도움이 됩니다. 기본적으로 데이터 분석의 전처리 단계입니다.

Python에는 데이터를 정리하고 오류를 방지하는 데 도움이 되는 다양한 함수와 매개변수가 있습니다.

ParserError: 데이터를 토큰화하는 동안 오류가 발생했습니다. C 오류

이는 행을 건너뛰어 오류를 일으키는 가장 일반적인 기술 중 하나입니다. 위의 데이터에서 볼 수 있듯이 마지막 줄에서 오류가 발생했습니다.

이제 on_bad_lines = 'skip' 인수를 사용하여 버그가 있는 행을 무시하고 데이터 프레임 df에 나머지를 저장했습니다.

import pandas as pd

df = pd.read_csv("data.csv", on_bad_lines="skip")
df

출력:

	Name	Roll	Course	Marks	CGPA
0	Ali		1		SE		87		3.0
1	John	2		CS		78		NaN

위의 코드는 오류를 일으키는 모든 줄을 건너뛰고 다른 줄은 인쇄합니다. 출력에서 볼 수 있듯이 마지막 줄은 오류를 유발했기 때문에 건너뜁니다.

그러나 우리는 수정해야 할 NaN 값을 얻고 있습니다. 그렇지 않으면 통계 분석 결과에 영향을 미칩니다.

올바른 구분 기호를 사용하여 ParserError: 데이터 토큰화 오류. C 오류

잘못된 구분 기호를 사용하면 ParserError가 발생할 수도 있으므로 제공하는 데이터에 따라 정확하고 적합한 구분 기호를 사용하는 것이 중요합니다.

때로는 을 사용하여 CSV 데이터 또는 공백을 구분하므로 프로그램에서도 해당 구분 기호를 지정하는 것이 중요합니다.

import pandas as pd

pd.read_csv("data.csv", sep=",", on_bad_lines="skip", lineterminator="\n")

출력:

	Name	Roll	Course	Marks	CGPA\r
0	Ali		1		SE		87		3\r
1	John	2		CS		78		\r

구분 기호는 ,이므로 sep=','lineterminator ='\n'을 언급한 이유는 줄이 \n으로 끝나기 때문입니다.

dropna()를 사용하여 ParserError: Error tokenizing data. C 오류

dropna 함수는 Null 또는 NaN 값을 포함하는 모든 행을 삭제하는 데 사용됩니다.

import pandas as pd

df = pd.read_csv("data.csv", on_bad_lines="skip")
print("      **** Before dropna ****")
print(df)

print("\n      **** After dropna ****")
print(df.dropna())

출력:

      **** Before dropna ****
   Name  Roll Course  Marks  CGPA
0   Ali     1     SE     87   3.0
1  John     2     CS     78   NaN

      **** After dropna ****
  Name  Roll Course  Marks  CGPA
0  Ali     1     SE     87   3.0

행이 두 개뿐이므로 한 행에는 모든 속성이 있지만 두 번째 행에는 NaN 값이 있으므로 dropna() 함수는 NaN 값이 있는 행을 건너뛰고 단일 행만 표시합니다.

fillna() 함수를 사용하여 NaN 값 채우기

데이터에서 NaN 값을 얻으면 fillna() 함수를 사용하여 기본값 0을 사용하는 다른 값을 대체할 수 있습니다.

코드 예:

import pandas as pd

print("      **** Before fillna ****")
df = pd.read_csv("data.csv", on_bad_lines="skip")
print(df, "\n\n")

print("      **** After fillna ****")
print(df.fillna(0))  # using 0 inplace of NaN

출력:

      **** Before fillna ****
   Name  Roll Course  Marks  CGPA
0   Ali     1     SE     87   3.0
1  John     2     CS     78   NaN


      **** After fillna ****
   Name  Roll Course  Marks  CGPA
0   Ali     1     SE     87   3.0
1  John     2     CS     78   0.0

fillna()NaN0으로 대체하여 데이터를 적절하게 분석할 수 있습니다.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

관련 문장 - Python Error