pct_change()对dataframe不起作用。结构和结构

2024-09-26 22:10:47 发布

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

我在计算宝洁公司股票价格的回报率;贝德在

返回值=frame.pct_更改()不支持/:“str”和“str”错误的操作数类型。我的工作是制作字典,然后在字典中传递每个列,并应用函数,如pct_change、mean或media或cov。在

在示例中,我跟随讲师直接在数据帧上应用函数。为什么我的数据单元被当作字符串而不是数字? 我有工作,但我不满意?在


Tags: 数据函数类型字典错误meanchangemedia
1条回答
网友
1楼 · 发布于 2024-09-26 22:10:47

假设您使用的是pandas数据帧,那么我将首先调用DataFrame上的info。在

In [1]: type(frame)
Out[1]: pandas.core.frame.DataFrame

In [2]: frame.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 2 columns):
Close    5 non-null object
Date     5 non-null object
dtypes: object(2)
memory usage: 160.0+ bytes

这里我们有一个数据帧,但收盘价不是一个数值。我们可以直接将这个列转换成一个新的数据框,这样我们就可以直接将这个列转换成一个新的数据帧:

^{pr2}$

但是你可能想把你的数据帧分成正确的类型开始。。。因此您可以执行以下操作:

In [5]: frame['Close'] = frame['Close'].astype(float)
In [6]: frame['Date'] = pd.to_datetime(frame['Date'])
In [7]: frame.set_index('Date', inplace=True)
In [8]: frame.info()
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 5 entries, 2018-01-29 to 2018-02-02
Data columns (total 2 columns):
Close       5 non-null float64
% change    4 non-null float64
dtypes: float64(2)
memory usage: 120.0 bytes

相关问题 更多 >

    热门问题