嵌套循环数据框python

时间:2018-08-15 18:04:14

标签: python loops dataframe nested-loops

我想使用1W,国家/地区和汽车0的值来计算总成本,然后将其添加到1M汽车0中,对汽车1,2,...,10进行相同的计算。然后对1W和3M等进行相同的操作。我使用了嵌套循环,如下代码所示,但这花费了很长时间。是否有可能直接使用熊猫而不是执行嵌套循环?

组合应为:

USD:
1W and 1M
1W and 3M
1W and 6M
1W and 1Y

and
1M and 3M
1M and 6M
1M and 1Y

and
3M and 6M
3M and 1Y

and
6M and 1Y
import pandas as pd

csv_loader = pd.read_csv('Cars.csv', encoding='cp1252', sep=';', index_col=0).dropna()

for current_date in csv_loader.index.unique():
    print('calculating date: ' +str(current_date))
    for index, row in index_data.iterrows():
        if index == current_date:

            for index2, row2 in index_data.iterrows():
                if index2 == current_date:

我的CSV文件如下所示:

fact_date;Cars;Costs;Country;Car;Rental_Duration
2017-07-14;0;157.00;USD;Ford;1W
2017-07-14;1;122.00;USD;Ford;1W
2017-07-14;2;122.00;USD;Ford;1W
2017-07-14;3;102.00;USD;Ford;1W
2017-07-14;4;153.00;USD;Ford;1W
2017-07-14;5;130.00;USD;Ford;1W
2017-07-14;6;151.00;USD;Ford;1W
2017-07-14;7;132.00;USD;Ford;1W
2017-07-14;8;153.00;USD;Ford;1W
2017-07-14;9;191.00;USD;Ford;1W
2017-07-14;10;131.00;USD;Ford;1W
2017-07-14;0;571.00;USD;Ford;1M
2017-07-14;1;526.00;USD;Ford;1M
2017-07-14;2;568.00;USD;Ford;1M
2017-07-14;3;546.00;USD;Ford;1M
2017-07-14;4;593.00;USD;Ford;1M
2017-07-14;5;541.00;USD;Ford;1M
2017-07-14;6;536.00;USD;Ford;1M
2017-07-14;7;532.00;USD;Ford;1M
2017-07-14;8;537.00;USD;Ford;1M
2017-07-14;9;582.00;USD;Ford;1M
2017-07-14;10;523.00;USD;Ford;1M
2017-07-14;0;679.00;USD;Ford;3M
2017-07-14;1;641.00;USD;Ford;3M
2017-07-14;2;622.00;USD;Ford;3M
2017-07-14;3;654.00;USD;Ford;3M
2017-07-14;4;655.00;USD;Ford;3M
2017-07-14;5;635.00;USD;Ford;3M
2017-07-14;6;623.00;USD;Ford;3M
2017-07-14;7;678.00;USD;Ford;3M
2017-07-14;8;689.00;USD;Ford;3M
2017-07-14;9;694.00;USD;Ford;3M
2017-07-14;10;625.00;USD;Ford;3M
2017-07-14;0;726.00;USD;Ford;6M
2017-07-14;1;718.00;USD;Ford;6M
2017-07-14;2;770.00;USD;Ford;6M
2017-07-14;3;793.00;USD;Ford;6M
2017-07-14;4;704.00;USD;Ford;6M
2017-07-14;5;739.00;USD;Ford;6M
2017-07-14;6;785.00;USD;Ford;6M
2017-07-14;7;701.00;USD;Ford;6M
2017-07-14;8;718.00;USD;Ford;6M
2017-07-14;9;714.00;USD;Ford;6M
2017-07-14;10;788.00;USD;Ford;6M
2017-07-14;0;992.00;USD;Ford;1Y
2017-07-14;1;935.00;USD;Ford;1Y
2017-07-14;2;981.00;USD;Ford;1Y
2017-07-14;3;955.00;USD;Ford;1Y
2017-07-14;4;920.00;USD;Ford;1Y
2017-07-14;5;978.00;USD;Ford;1Y
2017-07-14;6;943.00;USD;Ford;1Y
2017-07-14;7;911.00;USD;Ford;1Y
2017-07-14;8;969.00;USD;Ford;1Y
2017-07-14;9;922.00;USD;Ford;1Y
2017-07-14;10;978.00;USD;Ford;1Y

我期望的输出如下:

fact_date Cars    Costs_Total Car Country Rental_Duration
2017-07-14    0   728 Ford    USD 1W_1M
2017-07-14    1   648 Ford    USD 1W_1M
2017-07-14    2   690 Ford    USD 1W_1M
2017-07-14    3   648 Ford    USD 1W_1M
2017-07-14    4   746 Ford    USD 1W_1M
2017-07-14    5   671 Ford    USD 1W_1M
2017-07-14    6   687 Ford    USD 1W_1M
2017-07-14    7   664 Ford    USD 1W_1M
2017-07-14    8   690 Ford    USD 1W_1M
2017-07-14    9   773 Ford    USD 1W_1M
2017-07-14    10  654 Ford    USD 1W_1M
2017-07-14    0   836 Ford    USD 1W_3M
2017-07-14    1   763 Ford    USD 1W_3M
2017-07-14    2   744 Ford    USD 1W_3M
2017-07-14    3   756 Ford    USD 1W_3M
2017-07-14    4   808 Ford    USD 1W_3M
2017-07-14    5   765 Ford    USD 1W_3M
2017-07-14    6   774 Ford    USD 1W_3M
2017-07-14    7   810 Ford    USD 1W_3M
2017-07-14    8   842 Ford    USD 1W_3M
2017-07-14    9   885 Ford    USD 1W_3M
2017-07-14    10  756 Ford    USD 1W_3M
2017-07-14    0   883 Ford    USD 1W_6M
2017-07-14    1   840 Ford    USD 1W_6M
2017-07-14    2   892 Ford    USD 1W_6M
2017-07-14    3   895 Ford    USD 1W_6M
2017-07-14    4   857 Ford    USD 1W_6M
2017-07-14    5   869.00  Ford    USD 1W_6M
2017-07-14    6   936.00  Ford    USD 1W_6M
2017-07-14    7   833.00  Ford    USD 1W_6M
2017-07-14    8   871.00  Ford    USD 1W_6M
2017-07-14    9   905.00  Ford    USD 1W_6M
2017-07-14    10  919.00  Ford    USD 1W_6M

0 个答案:

没有答案