首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pandas.core.series.Series浮子

pandas.core.series.Series浮子
EN

Stack Overflow用户
提问于 2021-06-29 05:16:12
回答 2查看 543关注 0票数 0

我对python很陌生,并且一直在为这个简单的代码而挣扎:

所以在最后一行中,我得到了对象类型: pandas.core.series.Series,但是当我在2D数组中使用它时,这个类型会导致一个错误,如何使用'ticker‘定义来获得结果中的浮动?

我知道我可以这样写,所以我的结果是浮动:

代码语言:javascript
复制
Volatility = sec_returns['GME'].std() * 250 ** 0.5

所以'GME‘在括号中,而不是代码中,但是我想使用滴答的定义,这样我就可以更改代码了。谢谢你\

代码语言:javascript
复制
ticker = ['GME']
代码语言:javascript
复制
sec_data = pd.DataFrame()
for t in ticker:
    sec_data[t] = wb.DataReader(t, data_source = 'yahoo', start ='2007-01-01')['Adj Close']
代码语言:javascript
复制
sec_returns = np.log(sec_data / sec_data.shift(1))
代码语言:javascript
复制
Volatility = sec_returns[ticker].std() * 250 ** 0.5
print(Volatility)
代码语言:javascript
复制
type(Volatility)
代码语言:javascript
复制
Output: pandas.core.series.Series
EN

回答 2

Stack Overflow用户

发布于 2021-06-29 08:33:49

您的例子是做两件不同的事情,当涉及到插入一个DataFrame时。

代码语言:javascript
复制
Volatility = sec_returns['GME'].std() * 250 ** 0.5

与以下情况不同:

代码语言:javascript
复制
ticker = ['GME']
Volatility = sec_returns[ticker].std() * 250 ** 0.5

因为在第一个实例中,您将使用列名将字符串传递给DataFrame,而在第二个实例中,您将使用字符串列表进行子设置。因此第二个实例实际上如下所示:

代码语言:javascript
复制
Volatility = sec_returns[['GME']].std() * 250 ** 0.5

这将返回一个pd.Series而不是一个float。要从pd.Series获取值,您可以这样做:

代码语言:javascript
复制
ticker = ['GME']
Volatility = sec_returns[ticker].std() * 250 ** 0.5
Volatility.values[0]

.values将该系列作为numpy数组返回,我们将从该数组中检索第一项。

票数 0
EN

Stack Overflow用户

发布于 2022-03-21 06:02:33

尝试了这里提出的所有方法,但遗憾的是,没有一种方法奏效。相反,发现这是有效的:

df‘列’=pd.to_numeric(df‘列’,错误=‘胁迫’)

然后使用以下方法进行检查:

print(df.info())

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68172978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档