提问人:Hannah 提问时间:11/13/2023 更新时间:11/13/2023 访问量:23
将该值与 pandas 数据帧中该值之前的值进行比较
Comparing the value with a value before it in the pandas dataframe
问:
我有一个 DataFrame df:
开盘 最高价 最低价 收盘价
187100 187100 187100 188100 188000 188000 188000 188000 188000
188000
188000 188000 188000 188000 188000 188000 188000 188000 188000
.
从上面的交易历史中,创建一个信息列,指示每个交易日的收盘价与前一天的收盘价相比有所增加(值 1)、减少(值 -1)、等于(值 0)。
答:
0赞
Adrien Riaux
11/13/2023
#1
您可以使用 pandas 中的方法,然后将结果映射到语句。diff
if else
data = {'close': [187100, 188000, 188000, 187100, 188100]}
df = pd.DataFrame(data)
df['info'] = df['close'].diff()
df['info'] = df['info'].map(lambda x: 1 if x > 0 else -1 if x < 0 else 0)
print(df)
>>> close info
0 187100 0
1 188000 1
2 188000 0
3 187100 -1
4 188100 1
请注意,info 列的第一行是 NaN,因为没有什么可比较的,因此在与语句映射时将其设置为 0。if else
评论