import pandas as pd
import csv
import numpy as np
readfile = pd.read_csv('51.csv')
filevalues= readfile.loc[readfile['Customer'].str.contains('Lam Dep', na=False), 'Jul-18\nQty']
filevalues.replace(" ", "")
filevalues = filevalues.replace(r'^\s*$', np.nan, regex=True)
filevalues.dropna()
int_series = filevalues.astype(int)
calculated_series = int_series.apply(lambda x: x*(1/1.2))
print(calculated_series)
在我的csv文件中,存在带有NaN和空字符串(或者可能是空格)的单元格,我试图摆脱带有空格的单元格并删除NaN值,但是我遇到了错误:
ValueError: cannot convert float NaN to integer
事实证明,我在stackoverflow上发现的其他方法不适用于此代码。关于如何前进的任何想法?这尤其令人困惑,因为我的代码指定先删除NaN,然后出现错误状态:无法将float NaN转换为整数
答案 0 :(得分:1)
您可以尝试以下操作:
filevalues = filevalues.replace(" ", "", regex=True)
filevalues.replace("", np.nan, inplace=True) # replace empty string with np.nan
filevalues.dropna(inplace=True) # drop nan values
int_series = filevalues.astype(int) # change type
calculated_series = int_series.apply(lambda x: x*(1/1.2))
print(calculated_series)