有没有人有一个很好的方式,所以在一个循环中,你要么创建一个新的数据帧,要么它确实存在,只需要添加一个列?
我暂时这样做,但我很确定有一种更优雅的方式:
for fund in df:
_signal = computeSignal(someVar)
if 'dfSignal' not in locals():
dfSignal = pd.DataFrame(_signal, index = df.index, columns = [fund])
else:
dfSignal[fund]=pd.DataFrame(_signal,index = df.index)
任何人?
此致 于连
答案 0 :(得分:2)
我将其打包在try
/ except
内容中:
dct = {k: _signal for k in df}
try:
dfSignal = dfSignal.assign(**dct)
except:
dfSignal = pd.DataFrame(dct, df.index)