DataFrameisa2-dimensionallabeleddatastructurewithcolumnsofpotentiallydifferenttypes.所以一般说来dataframe就是asetofcolumns,eachcolumnisanarrayofvalues.Inpandas,thearrayisonewayoranothera(maybevariantof)numpyndarray.而ndarray本身不存在一种inplaceappend的操作。。。因为它实际上是一段连续内存。。。任何需要改变ndarray长度的操作都涉及分配一段长度合适的新的内存,然后copy。。。这是这类操作慢的原因。。。如果pandasdataframe没有用其他设计减少copy的话,我相信Bren说的"That'sprobablyasefficientasany"是很对的。。。所以ingeneral,正如Bren说的。。。Pandas/numpystructuresarefundamentallynotsuitedforefficientlygrowing.Matti和arynaq说的是两种常见的对付这个问题的方法。。。我想Matti实际的意思是把要加的rows收集成起来然后concatenate,这样只copy一次。arynaq的方法就是预先分配内存比较好理解。。。如果你真的需要incrementallybuildadataframe的话,估计你需要实际测试一下两种方法。。。我的建议是,如有可能,尽力避免incrementallybuildadataframe,比如用其他datastructure收集齐所有data然后转变成dataframe做分析。