如何将一系列一个值转换为仅浮点数?

Dhe*_*raj 6 python series dataframe pandas

我有一个只有一个值的系列,我只想获得那个值。我运行了一个代码,以通过索引匹配获得价值,我得到了一个类似这样的系列:

(normal_sum['KWH'][(normal_sum['KWH'].index == date)])

Timestamp
2017-04-02    2934.93
Freq: D, Name: KWH, dtype: float64
Run Code Online (Sandbox Code Playgroud)

但是当我试图通过此将其转换为浮点数时:

float(normal_sum['KWH'][(normal_sum['KWH'].index == date)])
Run Code Online (Sandbox Code Playgroud)

它抛出一个错误:

TypeError: cannot convert the series to <type 'float'>
Run Code Online (Sandbox Code Playgroud)

预期产量:2934.93

任何帮助,将不胜感激。

有一个编辑:

我面临另一个问题:

假设我得到一个空序列,然后如何将其转换为零。

我这样做:

(normal_sum['KWH'][(normal_sum['KWH'].index == date)])
Run Code Online (Sandbox Code Playgroud)

得到了这样的系列:

Series([], Freq: D, Name: KWH, dtype: float64)
Run Code Online (Sandbox Code Playgroud)

请帮忙。

piR*_*red 8

loc

normal_sum.loc[date, 'KWH']
Run Code Online (Sandbox Code Playgroud)

请参阅@MaxU 的回答 at


get_value

normal_sum.get_value(date, 'KWH')
Run Code Online (Sandbox Code Playgroud)

要在日期不在索引中时返回零,您可以

normal_sum.KWH.get(date, 0)
Run Code Online (Sandbox Code Playgroud)


Jos*_*der 8

现在(从什么时候开始?)有一个专门的函数:

normal_sum.item()
Run Code Online (Sandbox Code Playgroud)

该方法的优点是,如果不存在一项,它将引发异常。


小智 7

如果数据系列中只有一个元素,您可以通过调用tolist()并引用 来获取新列表的第一个元素,将其转换为列表[0]