蟒蛇。在熊猫数据框中使用Lambda函数的IF条件

时间:2019-03-08 17:41:08

标签: python pandas dataframe lambda

A.getSize() == 0

给出错误: ValueError:通过2963的项目数量错误,放置意味着1

我只想执行以下操作:如果 df.oc 是一个正数,则d f.uptail =(df.high-df.close)。 ..else df.uptail =(df.high-df.open)

我该如何解决呢?

2 个答案:

答案 0 :(得分:1)

np.where在这里更适合。

df['uptail'] = np.where(df.close-df.open>=0, df.high-df.close, df.high-df.open)

答案 1 :(得分:0)

如果您希望uptailclose - open,则为high - open;如果close - open为负或0,则为df['uptail'] = df.high - df.open df.loc[df.close > df.open, 'uptail'] = \ df.loc[df.close > df.open, 'high'] - df.loc[df.close > df.open, 'close']

您可以通过以下代码来实现:

GO