我想在Pandas
数据框中添加一列,并根据索引级别0和1设置值.例如,对于级别0为hom
、列delta
大于0的索引,将该值设置为buy
.对于级别0为hom
、列delta
小于0的索引,将值设置为sell
.对于级别0的不同值,还有其他规则.
我该怎么做?
>df
delta
fut ABC 15284.233222
pos DEF 0.248976
POL 0.002041
ABC 0.043585
hom YTY 0.054100
MNN -0.356873
这是所需的输出:
>df
delta new_col
fut ABC 15284.23 nan
pos DEF 0.248976 nan
POL 0.002041 nan
ABC 0.043585 nan
hom YTY 0.054100 buy
MNN -0.356873 sell
我可以用loc
过滤数据框,以确定如何创建新列.
df.loc[df.index.get_level_values(level=0) == 'hom'] > 0
delta new_col
hom YTY 0.054100 True
MNN -0.356873 False