-
浮云间
中的值y是未索引的矩阵。这个案例x['A'] = y在这里工作,因为它从矩阵中取出第一项并将其分配给'A'.相似地,x = pd.DataFrame(np.zeros((4, 2)), columns=['A', 'B'])y = np.random.randn(4, 2)x[['A', 'B']] = y也将起作用,因为熊猫会丢弃额外的数据。如果您尝试传递较少的列,请说:x = pd.DataFrame(np.zeros((4, 2)), columns=['A', 'B'])y = np.random.randn(4, 1)x[['A', 'B']] = y这也将起作用,因为它将为两列分配相同的值。这种情况类似于x['A'] = 0将列中的所有数据替换A为零。
-
守着星空守着你
为了x = pd.DataFrame(np.zeros((4, 1)), columns=['A'])y = np.random.randn(4, 2)如果 x['A'] = y ;然后列被复制,如果我们用不同的列长度迭代它,例如:x = pd.DataFrame(np.zeros((4, 3)), columns=['A','B','C'])y = np.random.randn(4, 2)并尝试 x['A'] = y 然后第一列也被复制,但如果我们等于 x = y 那么 x 数据帧将与 y 矩阵复制。所以我想我们正在得到这种歧义,因为我们试图将数据框列与在 numpy 中创建的 matix 等同起来。希望能说明
-
一只斗牛犬
Pandas 系列是 numpy 数组,因为它是一列,所以将其视为一个对象,引用已更改。>> import numpy as np>>> x = np.zeros((4,1))>>> x = np.random.randn(4,2)>>> y= np.zeros((4,1))>>> yarray([[0.], [0.], [0.], [0.]])>>> xarray([[-1.00731291, -0.37151425], [-0.78154847, -0.72854126], [-0.98566253, 1.68786232], [ 0.12614892, 0.41804799]])>>> y = x>>>yarray([[-1.00731291, -0.37151425], [-0.78154847, -0.72854126], [-0.98566253, 1.68786232], [ 0.12614892, 0.41804799]])