当我想根据多个条件访问数据框中的值时,有什么优雅的失败方法:
#Select from DataFrame using criteria from multiple columns
newdf = df[(df['column_one']>2004) & (df['column_two']==9)]
如果不满足上述条件的值,则pandas返回一个keyerror。我如何在newdf中存储nan值。
答案 0 :(得分:1)
如果不是在不满足条件的情况下删除行,您希望pandas返回一个数据框,其中行NaN
,其中条件为False
,原始值为otherwis,您可以执行以下操作
您可以将长度等于数据帧行数的booleans
列表分配给数据帧所有行的视图。这将使NaN
行False
以及与True
对应的行的原始值为False
。如果整个列表都是NaN
,那么您只需获得一个满False
的数据框。
P.S。其中一个列名可能已关闭。即使一切都是print df1
df1[:] = df1[(df1["a"]>2)&(df1["b"]>1).tolist()]
print df1
,它也应该只返回一个空数据帧而不是keyError。
输入:
a b c
0 1 2 3
1 2 2 3
2 3 2 3
a b c
0 NaN NaN NaN
1 NaN NaN NaN
2 3.0 2.0 3.0
输出:
var playing = false;
$('.audio-button').click(function() {
var audio = $(this).find('audio')[0];
if (playing !== true) {
audio.play();
} else {
audio.pause();
}
$(this).toggleClass('playing');
playing = !playing;
$(this).siblings().find('audio').each(function(index, elem){
elem.pause();
elem.currentTime = 0;
});
});