我有一个for循环。在每次迭代时,都会创建一个数据帧。我希望将此数据帧附加到整个结果数据帧。
目前我尝试使用此代码执行此操作:
resultDf = pd.DataFrame()
for name in list:
iterationresult = calculatesomething(name)
resultDf.append(iterationresult)
print(resultDf)
但是,resultDf
为空。
如何做到这一点?
更新
我想改变
resultDf.append(iterationresult)
到
resultDf = resultDf.append(iterationresult)
诀窍
答案 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
是一种不好的做法,因为它会影响内置类型。