【问题标题】:append to empty dataframe iteratively迭代地附加到空数据帧
【发布时间】:2016-02-16 17:20:15
【问题描述】:

我有一个 for 循环。每次迭代都会创建一个数据框。我希望将此数据框附加到整体结果数据框。

目前我尝试使用此代码:

resultDf = pd.DataFrame()
for name in list:
    iterationresult = calculatesomething(name)
    resultDf.append(iterationresult)
print(resultDf)

但是,resultDf 是空的。

如何做到这一点?

更新

我想改变

resultDf.append(iterationresult)

resultDf = resultDf.append(iterationresult)

成功了

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    不是迭代,而是简单:

    df = pd.DataFrame([calculatesomething(name) for name in list])
    

    这更直接,也更快。

    另一个惯用的想法可能是这样做:

    df = pd.DataFrame(list, columns = ["name"])
    df["calc"] = df.name.map(calculatesomething)
    

    顺便说一句,调用list list 是一种不好的做法,因为它会影响内置类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      • 2014-09-12
      • 1970-01-01
      • 2015-12-21
      • 2020-01-06
      • 2015-09-28
      • 2018-03-12
      相关资源
      最近更新 更多