首页 > 解决方案 > 如何将多个csv文件聚集在一个文件目录中

问题描述

我有多个具有相同数据结构的 csv 文件

在此处输入图像描述

我想一次聚集每个 csv 文件

import os
import pandas as pd
import numpy as np
from sklearn import metrics
import glob
df = pd.read_csv('File 000rejoice-19.csv')
can=df.drop(columns =['pat'])
from sklearn.cluster import DBSCAN
dbscan=DBSCAN(eps=3,min_samples=4)
X = can.iloc[:, [1,2,3,4]].values
X.shape
model=dbscan.fit(X)
labels=model.labels_
sample_cores=np.zeros_like(labels,dtype=bool)
sample_cores[dbscan.core_sample_indices_]=True
n_clusters=len(set(labels))- (1 if -1 in labels else 0)
n_clusters

此代码仅适用于一个 csv 文件,我想一次聚集多个 csv 文件

这是一个 jupyter 笔记本程序 在此处输入图像描述

标签: pythoncsvmachine-learningcluster-analysisdbscan

解决方案


您可以迭代 csv 文件所在的文件夹:我在.这里使用本地文件夹。

from os import listdir
from sklearn.cluster import DBSCAN

for file in listdir('.'):
  pd.read_csv(file)
  can=df.drop(columns =['pat'])
  dbscan=DBSCAN(eps=3,min_samples=4)
  X = can.iloc[:, [1,2,3,4]].values
  X.shape
  model=dbscan.fit(X)
  labels=model.labels_
  sample_cores=np.zeros_like(labels,dtype=bool)
  sample_cores[dbscan.core_sample_indices_]=True
  n_clusters=len(set(labels))- (1 if -1 in labels else 0)
  print(file, n_clusters)

推荐阅读