我不明白为什么会收到标题中列出的错误,我打算返回的值是数字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)
答案 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')
)或删除有问题的行。