搜索你感兴趣的问题
python pandas 怎样高效地添加一行数据
靠天靠地不如靠自己 2019-04-03
分享
推荐回答
靠天靠地不如靠自己 2022-01-19
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做分析。
本网站引用、摘录或转载上述内容仅供网站访问者交流或参考,文中观点或信息与爱问公司无关,与之相关的任何事务以及法律责任均与爱问公司无关。
相关推荐
有问题 @爱问
Powered by iask.com