我有如下excel工作表設置:列值和列標題iteraton計算
avgdegf | 50 | 55| 60| 65| 70| 75| 80 |
76 |
68 |
39 |
注:值下的值50,55,60,65,70,75,和80是空的。
我所試圖實現的是基於填充關閉該列中的數值,這些數值。所以如果avgdegf值比特定列的(標題號)大於do(avgdegf-header number),則其值爲0,並將該值放在特定行中。
avgdegf | 50 | 55| 60| 65| 70| 75| 80 |
76 | 26 |21 |16 |11 | 6 | 1 | 0 |
68 | 18 |13 | 8 |11 | 0 | 0 | 0 |
39 | 0 |0 | 0 | 0 | 0 | 0 | 0 |
這上面是我希望得到的,而是我只是得到:
Python: ValueError: The Truth Value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
什麼我做錯了,我該如何解決這一問題?謝謝!
這裏是我下面的代碼塊:
df_avgdegf = df["avgdegf"]
x=50
for x in range(50, 81):
if df_avgdegf > x:
df[x]= (df_avgdegf)-x
else:
df[x]=0
df.head()
df_cdd = df[x]
df_cdd = pd.DataFrame(df_cdd)
writer = ExcelWriter('thecddhddtestque.xlsx')
df.to_excel(writer,'Sheet1',index=False)
writer.save()
x += 1
行'if df_avgdegf> x'是直接的問題,因爲您正在測試一個布爾數組,它可能包含true和false的混合值。看起來你會遇到其他問題時,雖然這是固定的。例如,'df [x] =(df_avgdegf)-x'沒有意義,因爲您將一系列的值設置爲另一系列的值,這是無意義的。 –
你知道我如何去使用dfs進行這些計算嗎?有什麼建議麼?我嘗試了多種方法來達到這個目的。 – Techno04335
請參閱[我應該在標題中使用標籤嗎?](http://meta.stackexchange.com/help/tagging)。 – pnuts