0

I'm analyzing some data over a loop of 10 iterations, each of the iterations represents one of the data sets. I've managed to create a data frame with pandas at the end of each iteration, now i need to export each with a different name. here a take of the code.

for t in range(len(myFiles)):
    DATA = np.array(importdata(t))
    data = DATA[:,1:8]
    Numbers = data[:,0:5]
    Stars = data[:,5:7]
    [numbers,repetitions]=(Frequence(Numbers))
    rep_n,freq_n = (translate(repetitions,data))
    [stars,Rep_s] = (Frequence(Stars))
    rep_s,freq_s = (translate(Rep_s,data))
    DF1 = dataframe(numbers,rep_n,freq_n)
    DF2 = dataframe(stars,rep_s,freq_s)

Data frames DF1 and DF2 must be store separately with different names in each of the loop iterations.

2 Answers 2

1

You can create lists of DataFrames:

ListDF1, ListDF2 = [], []
for t in range(len(myFiles)):
   ...
   rep_s,freq_s = (translate(Rep_s,data))
   ListDF1.append(dataframe(numbers,rep_n,freq_n))
   ListDF2.append(dataframe(stars,rep_s,freq_s))

Then for select DataFrame use indexing:

#get first DataFrame
print (ListDF1[0]) 

EDIT: If need export with different filenames use t variable for DF1_0.csv, DF2_0.csv, then DF1_1.csv, DF2_1.csv, ... filenames, because python counts from 0:

 for t in range(len(myFiles)):
     ...
     DF1.to_csv(f'DF1_{t}.csv')
     DF2.to_csv(f'DF2_{t}.csv')
Sign up to request clarification or add additional context in comments.

1 Comment

Thanks, now as for the part of exporting, do you know how to export each one with a different name inside the loop? i'm trying not to do it manually. I come from a matlab background and it is possible in that environement, so i wonder if i can do the same here
1

you can use microseconds from datetime, since it will be different

from datetime import datetime

for t in range(len(myFiles)):
    DATA = np.array(importdata(t))
    data = DATA[:,1:8]
    Numbers = data[:,0:5]
    Stars = data[:,5:7]
    [numbers,repetitions]=(Frequence(Numbers))
    rep_n,freq_n = (translate(repetitions,data))
    [stars,Rep_s] = (Frequence(Stars))
    rep_s,freq_s = (translate(Rep_s,data))
    DF1 = dataframe(numbers,rep_n,freq_n)
    DF2 = dataframe(stars,rep_s,freq_s)

    DF1.to_csv(f'DF1_{datetime.now().strftime('%f')}.csv')
    DF2.to_csv(f'DF2_{datetime.now().strftime('%f')}.csv')

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.