파이썬에서 데이터 토큰화 오류 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 객체에 속성이 없습니다.