迭代地附加到空数据帧

时间:2016-02-16 17:20:15

标签: python pandas dataframe

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

目前我尝试使用此代码执行此操作:

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

但是,resultDf为空。

如何做到这一点?

更新

我想改变

resultDf.append(iterationresult)

resultDf = resultDf.append(iterationresult)

诀窍

1 个答案:

答案 0 :(得分:0)

不是迭代的,但简单地说:

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

这更简单,也更快。

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

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

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