熊猫数据框。创建或添加列,最好的方法

时间:2017-04-20 08:04:13

标签: python-2.7 pandas numpy dataframe

有没有人有一个很好的方式,所以在一个循环中,你要么创建一个新的数据帧,要么它确实存在,只需要添加一个列?

我暂时这样做,但我很确定有一种更优雅的方式:

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)

任何人?

此致 于连

1 个答案:

答案 0 :(得分:2)

我将其打包在try / except内容中:

dct = {k: _signal for k in df}
try:
    dfSignal = dfSignal.assign(**dct)
except:
    dfSignal = pd.DataFrame(dct, df.index)