Department = input("what dept")
editfile = pd.read_csv('52.csv', encoding='Latin-1')
editfilevalues= editfile.loc[editfile['Customer'].str.contains(Department, na=False), 'May-18\nQty']
editfilevalues = editfilevalues.fillna(int(0))
print(int(editfilevalues) *1.3)
我已经查看了stackoverflow,但似乎没有答案可以帮助我解决这个问题。我只是希望能够像这样的系列操作数据,但是遇到不同的错误,在当前代码中,我收到以下消息:
"{0}".format(str(converter))) TypeError: cannot convert the series to <class 'int'>
我的主要问题是将系列转换为int类型,我尝试了几种不同的方法来完成此操作,但没有一个给我结果
答案 0 :(得分:1)
因此,熊猫系列有点像一个列表,但是具有不同的功能和属性。您不能使用int()将Series转换为int,因为该函数并非旨在以这种方式在类似列表的对象上工作。
如果需要将Series转换为所有整数,此方法将起作用。
int_series = your_series.astype(int)
这将使您的整个系列特别是“ int32”。如果您希望将其放在numpy数组中,则下面是一个奖励。
int_array = your_series.values.astype(int)
从这里开始,您有一些选择可以进行计算。
# where x is a value in your series and lambda is a nameless function
calculated_series = int_series.apply(lambda x: some_number*x)
输出将是另一个Series对象,其中将计算您的行。使用下面的numpy数组奖励。
calculated_array = int_array * some_number
编辑以立即显示所有内容。
# for series
int_series = your_series.astype(int)
calculated_series = int_series.apply(lambda x: x * some_number)
# for np.array
int_array = your_series.values.astype(int)
calculated_array = int_array * some_number
这两种方法都可以使用,最终取决于最终所需的数据结构。