import operator from math import sqrt import numpy as np import pandas as pd from random import sample df = pd.DataFrame(pd.read_csv("4.0.csv", names=['密度', '含糖率'], header=None, encoding="ansi")) # 读取csv文件 data_array = np.array(df) # 先将dataframe转换为数组 data_list = data_array.tolist() # 其次转换为列表 # print(data_list) def number(D): number = 0 for _ in D: number += 1 return number def dis_ed(list1, list2): dis__ed = sqrt((list1[0] - list2[1]) ** 2 + (list1[0] - list2[1]) ** 2) return dis__ed def dis_md(list1, list2): dis__md = abs(list1[0] - list2[1]) + abs(list1[0] + list2[1]) return dis__md def k_means(D, k): D_initial = sample(D, k) while True: cluster = [[D_initial[0]], [D_initial[1]], D_initial[2]] for j in range(0, number(D)): distance = [] for i in range(0, k): dis__ed = dis_ed(D[j], D_initial[i]) distance.append(dis__ed) min_dis = min(distance) min_index = distance.index(min_dis) cluster[min_index].append(D[j]) flag = True # 用于判断是否结束循环 D_new = [] for i in range(0, k): cluster_array = np.array(cluster[i]) cluster_avg=np.mean(cluster_array, axis=0) D_new.append(cluster_avg[0]) if (D_new[i] != D_initial[i]).all(): D_initial[i] = D_new[i] flag=False return cluster print(k_means(data_list, 3))
时间: 2023-05-26 17:05:25 浏览: 47
这段代码是在Python中导入了一些模块:operator模块、math模块中的sqrt函数、numpy模块中的np对象、pandas模块中的pd对象,以及random模块中的sample函数。然后使用pandas模块读取了名为“4.0.csv”的文件,并将文件中读取的数据存储在一个名为df的数据框中,数据框中包含两列数据,列名分别为“密度”和“含糖率”。
相关问题
import operator import numpy as np
import operator和import numpy as np是Python中的两个常用的导入模块的语句。其中,import operator用于导入Python内置的operator模块,该模块提供了一系列的操作符函数,例如itemgetter函数,可以用于获取对象的位置。而import numpy as np则是导入了一个名为numpy的第三方库,并将其命名为np,numpy是Python中用于科学计算的一个常用库,提供了许多高效的数学函数和数据结构,例如多维数组和矩阵运算等。
import operator from math import log是什么作用
这是Python语言中的两个模块导入语句,分别导入了operator模块和math模块中的log函数。
operator模块提供了一系列Python内置操作符的函数实现,例如加、减、乘、除、取模、幂等操作。通过导入该模块,可以直接使用这些操作符对数据进行操作,而不必自己编写函数实现。例如,可以使用operator.add(x, y)函数来计算x和y的和。
math模块提供了一系列数学函数,例如三角函数、指数函数、对数函数、幂函数等。其中log函数是计算自然对数的函数,即以e为底的对数。通过导入该模块,可以直接使用这些数学函数对数据进行计算,而不必自己编写函数实现。例如,可以使用math.log(x)函数来计算x的自然对数。
因此,import operator from math import log语句的作用是导入operator模块中的operator函数和math模块中的log函数,以便在代码中使用它们。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)