2017-12-08 10 views
1

실험실에서 일부 데이터를 수집했으며 여러 엑셀 시트에 저장되어 있습니다. 엑셀 시트를 데이터 프레임에로드했는데 이제는 각 데이터 프레임에 대해 동일한 기능을 수행하려고합니다. 그러나 확실하지 않습니다. 사용자 기능 위의 마지막 줄에 하나의 데이터 프레임 인수를 허용하도록 수정 될파이썬에서 다중 데이터 프레임을 사용하여 반복적 인 단계를 수행하는 방법은 무엇입니까?

import glob 

    pattern = 'TRSCE*.csv' 

    csv_files = glob.glob(pattern) 

    df_list = [] 

    for csv in csv_files: 
     df = pd.read_csv(csv) 

     # Fill the data frame list 
     df_list.append(df) 

     # Plot the data frame using your user defined function 
     Function_plot(df) 

참고 :

df = pd.read_csv("TRSCE_5_1.csv") 
df1 = pd.read_csv("TRSCE_5_2.csv") 

def Function_plot() : 
    X = df[["Frequency(Hz)"]].values 
    y = df[" R(Ohm)-data"].values 
    y1 = df[" X(Ohm)-data"].values 
    plt.title("Resistance vs. Frequency") 
    plt.plot(X, y, label = 'Resistance') 
    plt.plot(X, y1, label= 'Reactance') 
    plt.ylabel('ylabel') 
    plt.xlabel('xlabel') 
    plt.legend() 

    plt.xlabel("Frequency", size=20) 
    plt.ylabel("Resistance", size=20) 
for each df in [df,df1,df2...,df8] 
    Function_plot(df)  
+0

csv 파일의 헤더는 무엇입니까? 예제를 게시 할 수 있습니까? – dubbbdan

+3

Function_plot()이 항상 TRSCE_T_1.csv와 연결된 df를 호출한다는 것을 알고 있습니까? 함수 defplot()이 인수를 지정하지 않았기 때문입니다. – kevinkayaks

+1

아, 이제 알겠습니다. 감사합니다. @kevinkayaks. 나는 일하도록했다. – Azi

답변

1

아래의 코드를 시도 할 수 있습니다. 그래서 함수의 서명을 변경해야 :

def Function_plot(df) 
     # then the function body 

내가 코드에서 루프에 대한 구문이 실수를 가지고 것으로 나타났습니다. 별도의 루프로 플롯하려는 경우 다음을 사용하십시오.

for each in df_list: 
     Function_plot(each) 
+0

코드에 대해 감사드립니다. 코드를 사용하여 작업하게했습니다. – Azi