我有這樣一個數據幀:np.where在熊貓,檢查空列表
df = pd.DataFrame({'var1':['a','b','c'],
'var2':[[],[1,2,3],[2,3,4]]})
我想創建一個第三列這給值VAR1如果VAR2相應的列表是空的,否則,var2中的列表的第一個元素。所以我預期的結果是:
target = pd.DataFrame({'var1':['a','b','c'],
'var2':[[],[1,2,3],[2,3,4]],
'var3':['a',1,2]})
我使用np.where這樣的嘗試:
df['var3'] = np.where(len(df['var2'])>0 , df['var2'][0], df['var1'])
但它似乎是檢查整列的長度,而不是列表的長度在列的每一行中。我怎樣才能把它應用到每一行?
我有同樣的問題,當我使用布爾(DF [「VAR2」])作爲我的病情。