【发布时间】:2021-07-06 20:54:45
【问题描述】:
我正在尝试计算固定日期之间熊猫股票价格的差异,比如说“23.05.2021”和直到今天的所有其他日子。但是不知道如何以最简单的方式为每只股票做到这一点?可能我应该为每个股票和日期使用 groupby 或过滤器,然后有所作为?请在此处查看 df dataframe that I have。
import pandas as pd
df = pd.read_csv("my_stocks.csv")
df["difference"] = ??
print(df)
Stock Date Open Close High Low
0 PEP 2021-06-23 146.059998 144.850006 146.130005 144.830002
1 PEP 2021-06-24 144.860001 145.669998 145.940002 144.610001
2 PEP 2021-06-25 145.759995 146.410004 146.789993 145.240005
3 PEP 2021-06-28 146.759995 147.039993 147.589996 146.619995
4 PEP 2021-06-29 147.449997 146.940002 147.699997 146.399994
5 PEP 2021-06-30 147.429993 148.169998 148.309998 147.199997
6 PEP 2021-07-01 148.080002 148.199997 149.080002 147.940002
7 PEP 2021-07-02 148.899994 148.910004 149.779999 148.559998
8 KO 2021-06-23 54.560001 54.119999 54.599998 54.110001
9 KO 2021-06-24 54.259998 54.389999 54.419998 54.000000
10 KO 2021-06-25 54.240002 54.320000 54.470001 54.009998
11 KO 2021-06-28 54.250000 54.259998 54.369999 54.000000
12 KO 2021-06-29 54.130001 53.860001 54.340000 53.720001
13 KO 2021-06-30 53.799999 54.110001 54.180000 53.750000
14 KO 2021-07-01 54.340000 53.959999 54.480000 53.860001
15 KO 2021-07-02 54.000000 54.180000 54.450001 54.000000
16 INFY 2021-06-23 20.549999 20.690001 20.709999 20.520000
17 INFY 2021-06-24 21.350000 21.190001 21.450001 21.190001
18 INFY 2021-06-25 21.430000 21.250000 21.510000 21.129999
【问题讨论】:
-
请编辑您的问题并粘贴数据框的实际文本输出,而不是图像链接。您还需要显示每个股票在给定日期 23.05.2021 的行中的值。
-
您应该将日期设置为索引。然后它只是
groupby('Stock'),您可以直接索引 23.05.2021 的价格并从您感兴趣的列中减去它。当您说“价格”时,您是指开盘/收盘/高/低还是所有这些列? -
df.set_index('Date', inplace=True) -
您好,感谢您的回复。对不起,但不知道如何相应地编辑这篇文章。
-
希望我能提供更多关于您想到的解决方案的详细信息 :) thx