파이썬에서 데이터 토큰화 오류 C 오류
-
ParserError: 데이터 토큰화 오류입니다. C 오류파이썬 -
ParserError: 데이터 토큰화 오류. C 오류파이썬 -
ParserError: 데이터를 토큰화하는 동안 오류가 발생했습니다. C 오류 -
올바른 구분 기호를 사용하여
ParserError: 데이터 토큰화 오류. C 오류 -
dropna()를 사용하여ParserError: Error tokenizing data. C 오류 -
fillna()함수를 사용하여NaN값 채우기
어떤 목적으로든 데이터를 가지고 놀 때 데이터를 정리하는 것은 필수입니다. 즉, 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()는 NaN을 0으로 대체하여 데이터를 적절하게 분석할 수 있습니다.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn관련 문장 - Python Error
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.
