我在資料幀df1 上回圈查找maximum order,然后我想discount_first分配給最大順序。
對于一個資料集,一切正常
new_rate_1 = []
for value in df1["maximum_order"]:
new_val = df[df["New_Order_Lines"]==value]["discount_first"]
new_val = new_val.tolist()[0]
new_rate_1.append(new_val)
new_rate_1
[-1.3,
-1.3,
0.35,
0.8,
0.75,
0.55,
0.8,
0.85,
0.4,
0.75,
0.85,
0.85,
0.55,
0.45,
0.8,
0.65,
0.55,
0.85,
0.35,
0.85,
0.9,
0.5,
0.55,
-0.6,
0.85,
0.75,
0.35,
0.15,
0.55,
0.7,
0.8,
0.85,
0.75,
0.65,
0.75,
0.75,
0.35,
0.85,
0.4,
...
....
]
對于其他資料集,我開始出現錯誤?
IndexError: list index out of range
如果我不在外觀中索引串列,我不會收到錯誤并且輸出看起來像這樣
[[0.8],
[0.8],
[0.55],
[0.55],
[0.55],
[0.85],
[0.55],
[0.85],
[0.85],
[0.65],
[0.65],
[0.75],
[0.7]
.....
- 任何建議/建議我怎樣才能擺脫行為?
提前致謝
uj5u.com熱心網友回復:
怎么用這個
# new_val = new_val.tolist()[0]
new_val = new_val.values.flatten()[0]
uj5u.com熱心網友回復:
當您可以在沒有回圈的情況下進行回圈時,為什么還要回圈?
您可以使用isin() tolist()方法:
new_rate_1 =df.loc[df["New_Order_Lines"].isin(df1["maximum_order"]),"discount_first"].tolist()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/388310.html
