IF AND语句只输出ELSE语句Python

时间:2017-04-27 15:25:11

标签: python if-statement dataframe conditional nan

我有一个生成不同数据帧的函数,第三个数据帧导致错误,因为它在底部包含最后一行NaN值。

我尝试了一个if-else条件语句来删除NaN值的行,但每次我都这样做,它会一直输出NaN值。

ma = 1
year = 3
df

if ma > 0 and year == 3:
    df[0:-1]
else:
    df

我还尝试了一个嵌套的if语句,但它产生了相同的NaN值输出。

ma_path = "SMA"
year_path = "YEAR_3"

if ma_path == ["SMA"]:
    if year_path == ["YEAR_3"]:
        df[0:-1]
    else:
        df

我确信这是我错过的一些简单的事情。有人可以帮忙吗?提前谢谢。

1 个答案:

答案 0 :(得分:5)

df不会更改df当前包含的值。如果要删除df = df[0:-1] 的最后一项,则需要将切片指定回名称:

pop

如果df是普通列表,您还可以使用df.pop() 删除项目。

1..2 
ok 1 
  ---
  extensions:
    files:
        sample.html:
         File-Type: 'text\plain'
         File-Name: 'sample.html'
         File-Size: '430'
         File-Content: bGluayBhdHRhY2g=
  ...
ok 2