本文目錄一覽:
- 1、python怎麼用sklearn包進行聚類
- 2、如何統計python list中元素的個數及其位置
- 3、Python 統計列表裡面有多少個元素
- 4、用Python怎麼統計一個列表的元素種類和各個種類的個數?
- 5、python 判斷列表中每個元素有幾個
python怎麼用sklearn包進行聚類
# -*- coding: utf-8 -*-
from sklearn.cluster import KMeans
from sklearn.externals import joblib
import numpy
final = open(‘c:/test/final.dat’ , ‘r’)
data = [line.strip().split(‘\t’) for line in final]
feature = [[float(x) for x in row[3:]] for row in data]
#調用kmeans類
clf = KMeans(n_clusters=9)
s = clf.fit(feature)
print s
#9個中心
print clf.cluster_centers_
#每個樣本所屬的簇
print clf.labels_
#用來評估簇的個數是否合適,距離越小說明簇分的越好,選取臨界點的簇個數
print clf.inertia_
#進行預測
print clf.predict(feature)
#保存模型
joblib.dump(clf , ‘c:/km.pkl’)
#載入保存的模型
clf = joblib.load(‘c:/km.pkl’)
”’
#用來評估簇的個數是否合適,距離越小說明簇分的越好,選取臨界點的簇個數
for i in range(5,30,1):
clf = KMeans(n_clusters=i)
s = clf.fit(feature)
print i , clf.inertia_
”’
如何統計python list中元素的個數及其位置
代碼如下:
list1=[2,3,1,9,112,23,23,6,6,1,3,0,11,2,1,1]
L1=len(list1) #列表list1的長度
list2=list(set(list1)) #可以用set,直接去掉重複的元素
list2.sort(reverse=False) #將列表由小到大排序
L2=len(list2) #列表list2的長度
print(‘集合:’+str(list1))
for m in range(L2):
X=set() #設定一個空的集合,用來存放這個元素的所在的位置
start=list1.index(list2[m])
for n in range(L1):
stop=L1
if list2[m] in tuple(list1)[start:stop]:
a=list1.index(list2[m],start,stop)
X.add(a)
start=start+1
print(‘元素:’+str(list2[m])+’,一共有’+str(len(X))+’個,在列表位置集合為:’+str(X))
結果如下:
集合:[2, 3, 1, 9, 112, 23, 23, 6, 6, 1, 3, 0, 11, 2, 1, 1]
元素:0,一共有1個,在列表位置集合為:{11}
元素:1,一共有4個,在列表位置集合為:{9, 2, 14, 15}
元素:2,一共有2個,在列表位置集合為:{0, 13}
元素:3,一共有2個,在列表位置集合為:{1, 10}
元素:6,一共有2個,在列表位置集合為:{8, 7}
元素:9,一共有1個,在列表位置集合為:{3}
元素:11,一共有1個,在列表位置集合為:{12}
元素:23,一共有2個,在列表位置集合為:{5, 6}
元素:112,一共有1個,在列表位置集合為:{4}
———————
作者:散仙黃曉煙
來源:CSDN
原文:
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
Python 統計列表裡面有多少個元素
Python 統計列表裡面有多少個元素步驟如下:
1、打開python語言命令窗口,定義一個列表變量Z並打印對應的列表值。
2、調用列表中的方法max(),可以獲取列表中所有元素中最大值。
3、使用第二步中對應的方法min(),可以獲取列表中最小值。
4、如果想要獲取列表中所有元素的個數,使用count()方法,結果出現了報錯,然後使用len()方法。
5、再次調用count方法,不過這次需要傳一個參數,查詢列表中某個元素是否在其中。
6、最後在列表中,使用方法pop進行退出元素,然後返回這個元素。
用Python怎麼統計一個列表的元素種類和各個種類的個數?
統計一個列表中每一個元素的個數在Python里有兩種實現方式,
第一種是新建一個dict,鍵是列表中的元素,值是統計的個數,然後遍歷list。
items = [“cc”,”cc”,”ct”,”ct”,”ac”]
count = {}
for item in items:
count[item] = count.get(item, 0) + 1
print(count)
#{‘ac’: 1, ‘ct’: 2, ‘cc’: 2}
之中用到了一個小技巧,當dict中不還沒有統計過一個元素時,直接索引count[item]會報錯,而使用get方法count.get(item, 0)能夠設置索引不存在的鍵時返回0。
第二種是使用Python內置的函數。統計元素的個數是一種非常常見的操作,Python的collection包里已經有一個Counter的類,大致實現了上面的功能。
from collections import Counter
items = [“cc”,”cc”,”ct”,”ct”,”ac”]
count = Counter(items)
print(count)
#Counter({‘ct’: 2, ‘cc’: 2, ‘ac’: 1})
python 判斷列表中每個元素有幾個
比如你可以這樣(用isinstance()函數來判斷類型):
123456789intCount = 0 #用來記錄列表中的int元素個數listCount = 0 #記錄list元素個數a = [1,’a’,2,[1,2]]for i in a: #遍歷a if isinstance(i,int): #判斷i是不是int intCount += 1 elif isinstance(i,list): #判斷i是不是list listCount += 1print(intCount,listCount)
結果是2 1,也就是有2個int元素,1個list元素。
這是一個思路,你可以根據需要添加判斷的類型,比如要統計float類型,就可以再加個elif isinstance(i,list)來進行統計。至於元素種類,對應的記錄是0,就說明沒有這個種類的元素,比如如果intCount是0,就說明列表中沒有int元素。
原創文章,作者:GUO38,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/128268.html