我有一个具有类型(int,datetime)的多重索引的数据帧。我想将'actual_12b1'列的条目设置为0.0到NaN,但前提是'begdt'(多重索引的第二级)在1998年或之前。经过一番尝试和错误,我最终得到了以下代码:
year_start1999 = datetime(year=1999, month=1, day=1).date()
cond1 = data.index.get_level_values('begdt') < year_start1999
cond2 = data.actual_12b1 == 0.0
data.actual_12b1[cond1 * cond2] = np.nan
代码可以工作,但似乎过于复杂。由于我对熊猫还不熟悉(对所有的切片/过滤都感到困惑),我想也许有人可以提出一种更清洁的方法来达到同样的效果。在
您对索引的想法是正确的,但是使用dataframe的
replace
方法交换值会更容易。例如相关问题 更多 >
编程相关推荐