使用时只返回数字np.除法函数数据类型:float64

2024-09-28 05:25:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个类对象,它从数据库中检索信息并将其存储在pandas中,这样我就可以使用一些数据科学库进行操作。你知道吗

class IntDailyGoals (object):
    def __init__(self, begin_date, end_date, store=None):
        self.begin_date = begin_date
        self.end_date = end_date
        self.store = store
        self.int_mnth_goal = pd.DataFrame(list(StoreGoalsInput.objects.values('store_number',
                                                                              'interest',
                                                                              'date')))
        self.int_mnth_goal['interest'] = pd.to_numeric(self.int_mnth_goal['interest'])
        self.int_mnth_goal['date'] = pd.to_datetime(self.int_mnth_goal['date'])
        self.mnth_goal_int =self.int_mnth_goal[(self.int_mnth_goal['date'] >= self.begin_date) &
                                               (self.int_mnth_goal['date'] <= self.end_date) &
                                               (self.int_mnth_goal['store_number'] == self.store.store_number)]
        self.mnth_goal_int= self.mnth_goal_int['interest']
        self.tot_workingdays = np.busday_count(np.datetime64(self.begin_date),
                                               np.datetime64(self.end_date),
                                               weekmask='Mon Tue Wed Thu Fri Sat')
        self.div_intmnthgoal_workingdays = round(np.divide(self.mnth_goal_int, self.tot_workingdays),2)


    def get_div_goalsint_wdays(self):
        div_goalsint_wdays = self.div_intmnthgoal_workingdays
        return div_goalsint_wdays

    def __str__(self):
        return self.get_div_goalsint_wdays()

这将返回:

2    6558.4 
Name: interest, dtype: float64

我只需要它返回整数6558.4,因为它显示在Django模板中。你知道吗

我试过这个:

    def get_div_goalsint_wdays(self):
    div_goalsint_wdays = self.div_intmnthgoal_workingdays['interest']
    return div_goalsint_wdays

但是我得到一个KeyError: 'interest'


Tags: storeselfdivdatedefnpintend
2条回答

可以使用.values属性或.tolist方法获取值(不带索引)。你知道吗

例如,如果我有这个Series

>>> s
2    3
dtype: int64

则值为:

>>> s.values
array([3], dtype=int64)
>>> s.tolist()
[3]

它可以像任何其他类似于类的序列一样进行索引:

>>> s.values[0]
3
>>> s.tolist()[0]
3

您描述的结果是一个具有单个值的系列。
要获取它包含的浮点值,应使用:

self.div_intmnthgoal_workingdays.iloc[0]

相关问题 更多 >

    热门问题