Các hàm numpy, ví dụ: np.mean(), np.var(), v.v., chấp nhận đối số giống như mảng, như np.array hoặc danh sách, v.v.Chức năng numpy hoạt động như thế nào trên các đối tượng gấu trúc trong nội bộ?
Nhưng truyền trong khung dữ liệu gấu trúc cũng hoạt động. Điều này có nghĩa rằng một khung dữ liệu gấu trúc thực sự có thể ngụy trang chính nó như là một mảng numpy, mà tôi tìm thấy một chút lạ (mặc dù biết thực tế là các giá trị cơ bản của một df thực sự là mảng numpy).
Đối với một đối tượng là một mảng giống như, tôi nghĩ rằng nó nên được slicable bằng cách sử dụng chỉ số nguyên theo cách một mảng numpy được thái lát. Vì vậy, ví dụ df [1: 3, 2: 3] sẽ hoạt động, nhưng nó sẽ dẫn đến một lỗi.
Vì vậy, có thể một khung dữ liệu được chuyển đổi thành mảng numpy khi nó đi vào bên trong hàm. Nhưng nếu đó là trường hợp thì tại sao np.mean (numpy_array) dẫn đến một kết quả khác với kết quả của np.mean (df)?
a = np.random.rand(4,2)
a
Out[13]:
array([[ 0.86688862, 0.09682919],
[ 0.49629578, 0.78263523],
[ 0.83552411, 0.71907931],
[ 0.95039642, 0.71795655]])
np.mean(a)
Out[14]: 0.68320065182041034
đưa ra một kết quả khác với những gì dưới đây cho phép ...
df = pd.DataFrame(data=a, index=range(np.shape(a)[0]),
columns=range(np.shape(a)[1]))
df
Out[18]:
0 1
0 0.866889 0.096829
1 0.496296 0.782635
2 0.835524 0.719079
3 0.950396 0.717957
np.mean(df)
Out[21]:
0 0.787276
1 0.579125
dtype: float64
Sản lượng trước đây là một số duy nhất, trong khi sau này là một nghĩa cột-khôn ngoan. Làm thế nào để một hàm numpy biết về việc tạo một khung dữ liệu?
Để sử dụng dữ liệu mảng cơ bản, chúng ta cần phải sử dụng '.values'. Không có nó, nó không chính xác dữ liệu mảng. Các kết quả phải nhất quán sau đó với fpss NumPy. – Divakar