是否可以在不复制的情况下创建pandas列中的值的视图?例如:
import numpy as np
import pandas as pd
class Aclass:
pass
df = pd.DataFrame(np.random.rand(8,2),columns=['a','b'])
这是有效的:
^{pr2}$但不是这个:
Aclass.a = df['a'].values
Aclass.a is df['a'].values
Out[54]: False
我想这样做是为了在项目中逐步包含pandas,而不需要太多额外的内存使用。在
实际上,在本例中,您不需要复制数据,而只是创建数组“container”。在
在很多情况下,
df.values
将返回一个副本(例如,不同列的不同数据类型或数据在内存中不连续的任何情况),但对于一个简单的序列或具有一个数据类型的数据帧,它返回数据的视图。在即使数组对象不同,它们也指向同一个数据缓冲区。只使用了一些额外的内存字节。在
例如:
相关问题 更多 >
编程相关推荐