我正在尝试将熊猫系列的一天数据转换为两天数据。这样做的方法是从底部开始,然后跳过每一个其他行。
这是我到目前为止掌握的密码。
import pandas as pd
import yfinance as yf
tick = yf.Ticker("COST")
data_day = tick.history(period="500d", interval="1d", auto_adjust=False)["Close"].round(decimals=2)
data_2day = data_day.iloc[1::2]下面是程序输出的一些数据。您可以忽略日期,因为我只关心收盘价的值,而不关心日期。

如果你看底部,你会发现关闭是561.35,这是正确的,在撰写本文时(3/19/2022)。但是,如果你从最近的一次算上12次收盘,你就会看到值为509.67。当我检查我的股票经纪人时,实际价值应该是506.56。这不是一个数据问题,因为当我打印普通的data_day数据框架时,这个确切的数字是存在的,这使我相信我的公式有问题。有人能帮我识别错误吗?
这是一个正常的data_day数据框架,它在日常汇总中对成本库存有接近的价格,仅供参考。

发布于 2022-03-20 03:57:48
只是一个小错误,而不是data_day.iloc[1::2],您应该将data_day.iloc[0::2]作为data_day.iloc[0::2]中的索引,总是以0开头。
data_day.iloc[0::2]
Out[22]:
Date
2021-12-22 549.67
2021-12-27 563.47
2021-12-29 567.77
2021-12-31 567.70
2022-01-04 564.23
2022-01-06 549.80
2022-01-10 518.80
2022-01-12 525.80
2022-01-14 502.99
2022-01-19 490.16
2022-01-21 481.61
2022-01-25 477.32
2022-01-27 482.52
2022-01-31 505.13
2022-02-02 522.02
2022-02-04 519.77
2022-02-08 521.15
2022-02-10 518.48
2022-02-14 506.56
2022-02-16 512.40
2022-02-18 512.67
2022-02-23 495.26
2022-02-25 517.49
2022-03-01 522.93
2022-03-03 533.05
2022-03-07 528.52
2022-03-09 527.65
2022-03-11 527.42
2022-03-15 542.32
2022-03-17 552.79
Name: Close, dtype: float64https://stackoverflow.com/questions/71543832
复制相似问题