gpt4 book ai didi

python - pd.read_csv 给了我 str 但需要 float

转载 作者:太空宇宙 更新时间:2023-11-03 13:32:09 25 4
gpt4 key购买 nike

我有一个如下所示的 CSV:

Date,Open,High,Low,Close,Adj Close,Volume
2007-07-25,4.929000,4.946000,4.896000,4.904000,4.904000,0
2007-07-26,4.863000,4.867000,4.759000,4.777000,4.777000,0
2007-07-27,4.741000,4.818000,4.741000,4.788000,4.788000,0
2007-07-30,4.763000,4.810000,4.763000,4.804000,4.804000,0

之后

data = pd.read_csv(file, index_col='Date').drop(['Open','Close','Adj Close','Volume'], axis=1)

我最终得到一个看起来像这样的 df:

                High       Low
Date
2007-07-25 4.946000 4.896000
2007-07-26 4.867000 4.759000
2007-07-27 4.818000 4.741000
2007-07-30 4.810000 4.763000
2007-07-31 4.843000 4.769000

现在我想得到高 - 低。尝试过:

np.diff(data.values, axis=1)

但出现错误:-: 'str' 和 'str' 不受支持的操作数类型

但请确定为什么 df 中的值首先是 str。感谢任何解决方案。

最佳答案

我想你需要to_numeric使用 errors='coerce' 因为似乎有一些错误数据:

data = pd.read_csv(file, index_col='Date', usecols=['High','Low'])

data = data.apply(pd.to_numeric, errors='coerce')

关于python - pd.read_csv 给了我 str 但需要 float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45478070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com