【问题标题】:pandas dataframe. create or add column, best method熊猫数据框。创建或添加列,最佳方法
【发布时间】:2017-09-16 17:47:59
【问题描述】:

有没有人有一个好方法,以便在循环中创建一个新的数据框,或者如果它确实存在,只需向其中添加一列?

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

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)

有人吗?

问候, 朱利安

【问题讨论】:

  • 没关系,检查答案,如果答案有帮助,请不要忘记accept。 ;)

标签: python-2.7 pandas numpy dataframe


【解决方案1】:

我会将其包装在 try/except 构造中:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2022-09-24
    • 2021-09-15
    • 2021-12-22
    • 2018-09-09
    相关资源
    最近更新 更多