python处理数据之 --- 批量分割数据,并计算分割后的数据总数量,并将结果保存在新的CSV文件中

在这里插入图片描述

拿到这个表的时候,我是想尽快直到最后这一列标红的数据,一共有多少个数字组成,所以,就用python分割处理了下,并计算出它的数字数量,即长度

详细代码:

import csv
import pandas as pd
if __name__ == '__main__':
    list = []
    width_num = []
    with open(r'./illumina/protein/test.csv', encoding='utf-8') as file:
        f_csv = csv.reader(file)
        for i, rows in enumerate(f_csv):
            if i >= 1:
                width_rows = rows[10] #这一列是要处理的数据所在列
                list.append(width_rows)
        # print(list)

        for list1 in list:
            list2 = list1.split('|')
            num_list2 = len(list2)
            # print(list1, num_list2)
            width_num.append({'geneid':rows[1], 'kuandu':list1, 'num':num_list2})
        df = pd.DataFrame(width_num)
        df.to_csv(r"./illumina/protein/width_count_num_32996.csv", index=0)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个比较简单的任务,可以使用Python的OpenCV库和sklearn库来完成。下面是实现的步骤: 1. 导入所需库 ```python import cv2 import os from sklearn.cluster import KMeans ``` 2. 定义函数,用于读取文件的图像文件并将它们转换为特征向量 ```python def load_images_from_folder(folder): images = [] for filename in os.listdir(folder): img = cv2.imread(os.path.join(folder, filename)) if img is not None: img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img = cv2.resize(img, (224, 224)) img = img.flatten() images.append(img) return images ``` 该函数使用OpenCV库的imread函数读取图像文件,然后将图像转换为RGB格式并将其大小调整为224x224像素。然后,将图像展平为特征向量,并将所有特征向量存储在一个列表。 3. 定义函数,用于使用K-means聚类算法将特征向量分成指定数量的群组 ```python def kmeans_clustering(features, num_clusters): kmeans = KMeans(n_clusters=num_clusters, random_state=0).fit(features) return kmeans.labels_ ``` 该函数使用sklearn库的KMeans类来执行K-means聚类。它接受两个参数:特征向量列表和要创建的群组数量。它返回一个整数列表,其每个元素表示该特征向量属于哪个群组。 4. 定义函数,用于将图像文件按照其所属的群组保存到不同的文件 ```python def save_images_by_cluster(folder, labels): num_clusters = len(set(labels)) for i in range(num_clusters): cluster_folder = os.path.join(folder, "cluster_" + str(i)) if not os.path.exists(cluster_folder): os.makedirs(cluster_folder) for filename, label in zip(os.listdir(folder), labels): src_file = os.path.join(folder, filename) dst_folder = os.path.join(folder, "cluster_" + str(label)) dst_file = os.path.join(dst_folder, filename) os.rename(src_file, dst_file) ``` 该函数接受两个参数:包含图像文件文件夹路径和K-means算法返回的标签列表。它首先创建一个名为“cluster_”+群组编号的文件夹,然后将所有属于该群组的图像文件移动到该文件。 5. 将所有函数组合在一起 ```python folder = "path/to/folder" features = load_images_from_folder(folder) labels = kmeans_clustering(features, num_clusters) save_images_by_cluster(folder, labels) ``` 这个代码片段将指定的文件的所有图像文件读取为特征向量,然后使用K-means算法将它们分成指定数量的群组。最后,它将图像文件按照它们所属的群组保存到不同的文件。 请注意,您需要根据您的实际情况修改代码的一些细节,例如文件夹路径和群组数量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值