ValueError:无法使用包含NA / NaN值的向量建立索引

时间:2018-06-27 17:33:11

标签: python excel string csv

我不明白为什么会收到标题中列出的错误,我打算返回的值是数字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)

2 个答案:

答案 0 :(得分:9)

@HarisKhaliq,我将回答这个问题,因为它将使其他人受益。 该错误消息表示该数据框包含默认为na / NaN的空白条目。 您只需在synatx中添加na=False即可填充缺失值的值。

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)

.

答案 1 :(得分:5)

另一个可能的问题:您可以使用不包含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'))或删除有问题的行。