1
我有Python中的熊貓數據幀它類似於這樣的事情 -數據轉換出錯的大熊貓Python的應用功能,每行
contest_login_count contest_participation_count ipn_ratio
0 1 1 0.000000
1 3 3 0.083333
2 3 3 0.000000
3 3 3 0.066667
4 5 13 0.102804
5 2 3 0.407407
6 1 3 0.000000
7 1 2 0.000000
8 53 91 0.264151
9 1 2 0.000000
現在我想給一個函數適用於這每行據幀的功能被寫成這樣 -
def findCluster(clusterModel,data):
return clusterModel.predict(data)
我這個函數應用於每一行以這種方式 -
df_fil.apply(lambda x : findCluster(cluster_all,x.reshape(1,-1)),axis=1)
當我運行這段代碼,我得到一個警告說 -
DataConversionWarning:數據與輸入D類對象轉變爲float64。
warnings.warn(MSG,DataConversionWarning)
此警告對於每一行打印一次。因爲我的數據框中有大約450K行,所以我的計算機在ipython筆記本上打印所有這些警告消息時掛起。
但爲了測試我的功能,我創建了一個虛擬數據框,並嘗試在該應用上使用相同的功能,並且效果很好。下面是該代碼 -
t = pd.DataFrame([[10.35,100.93,0.15],[10.35,100.93,0.15]])
t.apply(lambda x:findCluster(cluster_all,x.reshape(1,-1)),axis=1)
輸出到這是 -
0 1 2
0 4 4 4
1 4 4 4
任何人都可以建議我做錯了還是什麼我可以改變,使這個錯誤會消失嗎?
什麼是'df_fil.info()'?也許有些列不是'浮動'。 – jezrael
@jezrael你可以添加它作爲答案。這工作! :) – dragster
當然,我添加它來回答。 – jezrael