0

所以我想为我的数据框(df)创建新的指标变量,基本上我希望它读取“Splits”,除非另一个字段(AssetClass)是“Future”,在这种情况下我希望新指标读取“NotSplit”代码即时目前使用的是:

df['Category'] = 'Split'
df[df.AssetClass == "Future"].Category = 'NotSplit' 

但到目前为止,它似乎只是创建了新变量并将其全部称为“拆分”,然后跳过下一行。任何人都可以在这里看到任何问题吗?

4

1 回答 1

0

像这样?

df['Category'] = 'NotSplit' if df.AssetClass == 'Future' else 'Split'

一些背景知识:目前您将在您的 dict 中获得一个新键(或者TrueFalse),因为使用了df.AssetClass == 'Future'评估的结果。换句话说,您会得到以下信息:

df['Category'] = 'Split'
df[True] = 'NotSplit'

如果您只想更新条目,请重复使用相同的键名。

上述多行解决方案归结为以下几点:

df['Category'] = 'Split'
if df.AssetClass == 'Future':
    df['Category'] = 'NotSplit'
于 2013-09-04T08:30:27.300 回答