好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 解決使用pandas聚類時的小坑

解決使用pandas聚類時的小坑

熱門標簽:佛山通用400電話申請 蘇州人工外呼系統軟件 電話外呼系統招商代理 廣東旅游地圖標注 電話機器人貸款詐騙 京華圖書館地圖標注 打印谷歌地圖標注 淮安呼叫中心外呼系統如何 看懂地圖標注方法

問題背景:

之前運行測試好好的程序,忽然出現了報錯,還是merge時候的類型錯誤,這個bug有點蹊蹺。

問題分析:

代碼:進行聚類之后計算平均值與方差

tmp_df = df[['object1', 'float']].groupby(['object1']).head(20).groupby(['object1'])['float'].agg(['mean', 'sum']).reset_index()

這個輸出的就是原本的數據類型:一個object,一個float64

tmp_df = http_df[['object1', 'object2', 'float']].groupby(['object1', 'object2']).head(20).groupby(['object1', 'object2'])['float'].agg(['mean']).reset_index()

這個輸出就會修改object為float,

差別只在于一個是使用一個特征進行聚類,一個是使用兩個特征進行聚類

問題原因(個人猜測,僅供參考):

pandas進行聚類的時候,就算之前已經定好各個列的類型,如果里邊沒有數據的時候,使用一列進行聚類不會修改列的類型,但是如果同時使用兩列進行聚類就會修改列的類型。

所以才會出現后面進行merge時候,類型不同報錯

有數據輸入的時候這個報錯不會發生,沒有數據的時候就會發生。

補充:python數據處理--按照數據差值大小進行聚類(歸類)

近來在做數據處理的工作中,遇到了數據分類的問題,利用python的各種方便庫,寫了這么個以數據差值大小進行歸類的方法。

應用場景:

有一批數據集,如list=[1,2,3,4,9,10,11,20,20,1,1.1,2.1,100],將其按照數值大小進行歸類,即數值比較接近的歸為一類,故需要先設置一個閾值,以進行劃分。

具體實現如下:

其中輸入參數Data_set為輸入的數據集,可以為列表、數組、Series、DataFrame。threshold為數據大小分類的門限值。

輸出class_k為數據歸類列表集合,index_list為數據歸類對應的索引集合。

def threshold_cluster(Data_set,threshold):
 #統一格式化數據為一維數組
 stand_array=np.asarray(Data_set).ravel('C')
 stand_Data=Series(stand_array)
 index_list,class_k=[],[]
 while stand_Data.any():
  if len(stand_Data)==1:
   index_list.append(list(stand_Data.index))
   class_k.append(list(stand_Data))
   stand_Data=stand_Data.drop(stand_Data.index)
  else:
   class_data_index=stand_Data.index[0]
   class_data=stand_Data[class_data_index]
   stand_Data=stand_Data.drop(class_data_index)
   if (abs(stand_Data-class_data)=threshold).any():
    args_data=stand_Data[abs(stand_Data-class_data)=threshold]
    stand_Data=stand_Data.drop(args_data.index)
    index_list.append([class_data_index]+list(args_data.index))
    class_k.append([class_data]+list(args_data))
   else:
    index_list.append([class_data_index])
    class_k.append([class_data])
 return index_list,class_k

測試如下:

import numpy as np 
from pandas import Series,DataFrame 
Data_set=[1,1.1,0.9,-5,2,100,99,-4.2,10000,0] 
index_list,class_k=threshold_cluster(Data_set,5) 
index_list
Out[10]: [[0, 1, 2, 4, 9], [3, 7], [5, 6], [8]] 
class_k
Out[11]: [[1.0, 1.1, 0.9, 2.0, 0.0], [-5.0, -4.2], [100.0, 99.0], [10000.0]]
 

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python基礎之pandas數據合并
  • python-pandas創建Series數據類型的操作
  • Python數據分析之pandas函數詳解
  • python基于Pandas讀寫MySQL數據庫
  • pandas讀取excel時獲取讀取進度的實現
  • pandas中.loc和.iloc以及.at和.iat的區別說明
  • 淺談Pandas dataframe數據處理方法的速度比較
  • pandas 使用merge實現百倍加速的操作
  • 詳細介紹在pandas中創建category類型數據的幾種方法
  • python中pandas.read_csv()函數的深入講解
  • pandas 顛倒列順序的兩種解決方案
  • pandas調整列的順序以及添加列的實現
  • pandas快速處理Excel,替換Nan,轉字典的操作
  • Python基礎之教你怎么在M1系統上使用pandas

標簽:湖州 呼和浩特 中山 江蘇 股票 衡水 畢節 駐馬店

巨人網絡通訊聲明:本文標題《解決使用pandas聚類時的小坑》,本文關鍵詞  解決,使用,pandas,聚類時,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決使用pandas聚類時的小坑》相關的同類信息!
  • 本頁收集關于解決使用pandas聚類時的小坑的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 日本怡红院一区二区三区| 黑人巨大系列在线播放| 韩国久久精品| 国产亚洲精品精华液| xxx69| 日韩欧美在线综合网高清| 他的小丫头终于属于他了| 四川女人毛多水多A片| 精品免费囯产一区二区三区四区| 久久美女视频| 娇小抱起来撞h| 全黄H全肉短篇禁乱np第一次| 午夜看片未满十八勿进| 免费边摸边吃奶边叫床视频gif| 亚洲精品尤物福利在线一区| 亚洲另类z0zx| 嗯啊你轻点好深啊hh在线播放| 中国一级特黄毛片大片 | www亚洲国产| 国产111111在线观看| 99福利网| 喷着奶汁的乳奴| 欧美VA日韩国产VA视频| 果冻传媒和精东影业在线观看| 被窝电影网午夜伦电影717| 伊人热热久久原色播放| XXXXXXX中国????| 亚洲AV欧洲AV人人爽爽电影| 久久久久成人精品免费播放动漫| 日韩亚洲第一页| 亚洲AV无码秘?蜜桃藤咲ゆい| 把胸罩扒了狂揉gif动态图| 久久久久久久综合| 翘臀美女xx00后进式在线观看 | 欧美国产日韩综合精品第17| 国产视频成人| 国产精品丝袜黑色高跟鞋| 精品一区二区三区在线| 亚洲AⅤ欧美AⅤ综合AV| 黄色的毛片| 为爱上色|