关于dataframe里比较列的数值的问题

先看错误程序:

img

要求是这样的:建立 column 叫 pos ,使当ma5 数值大于ma10数值的⽇⼦中, pos 的数值取1,其余日子中pos值取0
通过查资料得知column之间应该不能这么比,那么这个程序该怎么改呢?

望采纳

想在 Pandas DataFrame 中新建一列 "pos",且当 "ma5" 列的值大于 "ma10" 列的值时,"pos" 列的值为 1,其余情况 "pos" 的值为 0,可以这样做:

import pandas as pd

# 假设 df 是你的 DataFrame
df["pos"] = 0
df.loc[df["ma5"] > df["ma10"], "pos"] = 1

首先,我们导入 pandas 库,然后新建一列 "pos",初始值全部为 0。接着,我们使用 DataFrame 的 "loc" 方法来选择所有 "ma5" 列值大于 "ma10" 列值的行,并将这些行的 "pos" 列值设置为 1。