繁体   English   中英

在循环迭代期间将结果连接到列表

[英]Concatenating results to a list during loop iteration

我在目录中有一堆文件。 我想对所有文件运行一个循环,然后将结果连接到3个单独的列表,然后将它们转换为数据框。

data= pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/2011'], 
                   'Product':['Umbrella', 'Umbrella', 'Badminton', 'Shuttle'], 
                   'Last Price':[1200, -1500, 1600, 352], 
                   'Updated Price':[1250, 1450, 1550, 400], 
                   'Discount':[10, 10, 10, 10]}) 

因此,我对3列求和,然后在循环时将结果附加到其各自的列表中。 我遇到问题的地方是通过嵌套循环附加求和结果。 如果有人可以在嵌套循环中出错的地方提供颜色,将不胜感激。

for i in files:
    df= pd.read_csv(i,sep="|", low_memory = False)
    Total_Uncalibrated = df[Last_Price].sum()
    Total_Uncalibr = []
    for Total_Uncalibrated:
        uncali = Total_Uncalibrated
        Total_Uncalibr.append(uncali)

    Total_Calibrated = df[Discount].sum()
    Total_Cali = []
    for cali in Total_Cali:
        df3= pd.Dataframe(Total_Calibrated)
        Total_Cali.append(df3)
        TotalCS01_Ab =     df[Updated_Price].sum()
    TotalCS01 = []
    for total in TotalCS01_Abs:
        df4 = pd.Dataframe(Total_Abs)
        TotalCS01_Abs.append(df4)

Expected result s/b:
result_df = pd.concat([Total_Uncalibr,Total_Cali])

您需要像这样重写所有循环:

Total_Uncalibr = []

for i in files:
    df= pd.read_csv(i,sep="|", low_memory = False)
    Total_Uncalibrated = df[Last_Price].sum()
    Total_Uncalibr.append(Total_Uncalibrated)

您应该阅读Python中的循环

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM