考慮df
插入列表分爲滿足列條件細胞
A B C
0 3 2 1
1 4 2 3
2 1 4 1
3 2 2 3
我想補充另一列"D"
使得d包含基於"A"
,"B"
和"C"
A B C D
0 3 2 1 [1,0]
1 4 2 3 [1,0]
2 1 4 1 [0,2]
3 2 2 3 [2,0]
條件不同的名單我代碼片段如下所示:
df['D'] = 0
df['D'] = df['D'].astype(object)
df.loc[(df['A'] > 1) & (df['B'] > 1), "D"] = [1,0]
df.loc[(df['A'] == 1) , "D"] = [0,2]
df.loc[(df['A'] == 2) & (df['C'] != 0) , "D"] = [2,0]
當我嘗試運行此代碼,它拋出以下錯誤:如建議here但仍與錯誤
ValueError: Must have equal len keys and value when setting with an iterable
我已經轉換列到Object
類型。
我可以推斷出,熊貓正試圖遍歷列表中的元素,並將這些值中的每一個賦值給單元格,因爲我試圖將整個列表分配給符合標準的所有單元格。
有沒有辦法以上述方式分配列表?