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)
请帮忙。
用 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)
现在(从什么时候开始?)有一个专门的函数:
normal_sum.item()
Run Code Online (Sandbox Code Playgroud)
该方法的优点是,如果不存在一项,它将引发异常。