2017-02-07 70 views
-4

當我嘗試將此if聲明,如果語句不工作(Python)的

for i in (1,14197): 
if (slope[i] <= 5): 
    slope[i]=0 

沒有得到改變。我讀到Dataframe的float類型可能存在問題。因此,一個辦法是改變dtype,然後應用if聲明。但是沒有更優雅的方式嗎?

+2

您的壓痕'如果-statement'是錯誤的 – Yousaf

+0

你嘗試改變D型和應用if語句?它有用嗎?你能解決你的格式嗎? – nbryans

+3

什麼是「斜坡」?對我來說(1,14197):'做什麼? – roganjosh

回答

0

嘗試:

for i in range(1,14197): 
     if (slope[i] <= 5): 
      slope[i]=0 
0

如果使用for循環,從1至14197的代替(1,14197);嘗試range(1,14197) 或者如果它是一個列表,用方括號嘗試[]代替()

另外,作爲@Yousaf指出你的縮進,似乎關閉。 或者由於斜率是一個列表只是環路:

for i in slope: 
    if slope[i] <=5: 
     slope[i]=0 

原諒我,如果這並不能幫助你。我只是在Python初學者

+1

[]「或如果列表用方括號試試吧」,「代替‘()’」沒關係。 '因爲我在(1,14197)中:'只會取'1'和'14197'的值,因爲'tuple'是可迭代的。請使用反引號格式化您的答案以環繞代碼或突出顯示代碼部分,然後單擊編輯器中的「{}」按鈕。 – roganjosh