J'ai plusieurs dossiers avec des fichiers CSV, et je crée des listes cartésiennes et des statistiques sur toutes les combinaisons de fichiers.Fonction qui modifie les chaînes de noms de fichiers en fonction d'une liste
Jusqu'à présent, je suis l'exécution de ce comme ceci:
import pandas as pd
import os
import scipy as sp
from scipy import stats
import glob
import itertools
#
#
path =r'F:\Sheyenne\Statistics\IDL_stats\NDVI' # use your path
allfiles = glob.glob(path + "/*.csv")
result = list(itertools.product(allfiles,allfiles))
#
dataframe=[]
for files in result:
x=(pd.read_csv(files[0], names = ['Percent', 'Value']))
z=x.Percent
y=(pd.read_csv(files[1], names = ['Percent', 'Value']))
d=y.Percent
stats2=sp.stats.ks_2samp(z,d)
g=files, stats2
df=pd.DataFrame(data=list(sum(g,())), index=['File1', 'File2', 'D', 'p_value']).transpose()
dataframe.append(df)
df=pd.concat(dataframe)
print df
mais mon problème est que j'ai plusieurs dossiers dont j'ai besoin de naviguer à l'intérieur d'une voie. Donc, r'F:\Sheyenne\Statistics\IDL_stats\NDVI'
est juste un des nombreux dossiers dont j'ai besoin pour exécuter ce code. Y a-t-il un moyen de créer une fonction et de changer la chaîne du chemin pour le faire? Donc, si l'emplacement du dossier suivant est r'F:\Sheyenne\Statistics\IDL_stats\NDII'
et que j'ai une liste avec les noms NDVI
et NDII
Je veux l'automatiser pour exécuter le même code sur le dossier suivant en changeant simplement la chaîne (seulement la partie après r'F:\Sheyenne\Statistics\IDL_stats\
) dans le chemin basé sur les éléments de la liste.
J'espère que cela a du sens.