如何在舊數據框上使用apply函數時返回新的數據框?如何在舊數據框上使用apply函數時返回新的數據框?
輸入數據(DF):
個 預訂rolling_mean rolling_std_dev
DS 城市
2013-01-01 City_2 69 的NaN 的NaN
2013年1月2日City_2 101 的NaN 的NaN
2013年1月3日City_2 134 101.333333 32.501282
2013年1月4日City_2 155 130.000000 27.221315
2013-01 -05 City_2 104 131.000000 25。632011
代碼:
def f1(x):
if (math.isnan(x.bookings) or math.isnan(x.rolling_mean) or math.isnan(x.rolling_std_dev)):
print "Not enough information"
elif abs(x.bookings-x.rolling_mean) > (2*x.rolling_std_dev):
print x.bookings
print x.rolling_mean
print x.rolling_std_dev
df.apply(lambda x: f2(x), axis = 1)
輸出:
問題:
函數上述正確地與沒有錯誤編譯。但是,當我嘗試運行它時,它不會提供我想要的輸出。它不是在elif語句之後打印任何東西,但它應該。另外,我不理解在輸出的打印部分之後顯示所有非數字的數據幀。那來自哪裏?
我想要的解決方案:
返回與該履行的elif語句中的所有行一個新的數據幀。
你在新的數據幀想要什麼?你只是想刪除其中含有「NaN」的行嗎? –
人們多次向您解釋說,插入圖片比插入文字要少得多,因爲'read_clipboard'不適用於圖片;這仍然是事實。 FWIW,許多熊貓標籤的追隨者只是跳過不遵循[mcve]規則的問題。 – DSM
對不起,我其實不知道read_clipboard是如何工作的。我修好了,不會再發布圖片。在這個新的數據框中,我需要滿足elif語句的行。 – pr338