programing

ValueError: NA/NaN 값을 포함하는 벡터로 인덱싱할 수 없습니다.

linuxpc 2023. 4. 11. 21:45
반응형

ValueError: NA/NaN 값을 포함하는 벡터로 인덱싱할 수 없습니다.

제목에 기재되어 있는 에러를 수신하는 이유를 알 수 없습니다.반환하려는 값은 숫자 30입니다.

import csv
import os
import pandas as pd
os.chdir('C:\\Users\\khalha\\Desktop\\RealExcel')
filename = 'sales.csv'

Sales = pd.read_csv('sales.csv')
iFlowStatus = Sales[Sales['Product'].str.contains('iFlow')]['Status']
print(iFlowStatus)

이 오류 메시지는 데이터 프레임에 기본 Na/NaN이 되는 빈 엔트리가 포함되어 있음을 나타냅니다.

추가만 하면 됩니다.na=Falsesynatx에서 결측값 값을 채웁니다.

import csv
import os
import pandas as pd
os.chdir('C:\\Users\\khalha\\Desktop\\RealExcel')
filename = 'sales.csv'

Sales = pd.read_csv('sales.csv')
iFlowStatus = Sales[Sales['Product'].str.contains('iFlow', na=False)]['Status']
print(iFlowStatus)

기타 생각할 수 있는 문제로는 NaN이 포함되지 않은 혼합형 컬럼을 사용할 수 있습니다.예를 들어 다음과 같습니다.

> df = pd.DataFrame({'x': ['hi', 99]})
> df.x.isna().any()
False
> df[df.x.str.contains('hi')]
...
ValueError: cannot index with vector containing NA / NaN values

하고 싶은 일에 따라 캐스팅이 가능합니다.df.x.astype(str).str.contains('hi')또는 문제가 되는 행을 드롭합니다.

언급URL : https://stackoverflow.com/questions/51068498/valueerror-cannot-index-with-vector-containing-na-nan-values

반응형