我有一个 pandas 数据框,其结构如下:
print raster_arr_df
60.25 60.50 60.75 61.00 61.25 61.50 61.75 62.00 62.25 62.50 ... 94.75 \
3.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
3.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
3.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
4.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
4.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
4.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
4.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
5.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
5.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
5.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
5.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
6.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
6.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
6.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
6.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
7.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
7.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
7.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
7.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
8.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
8.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
8.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
8.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
9.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
9.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
9.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
9.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
10.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
10.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
10.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
... ... ... ... ... ... ... ... ... ... ... ... ...
35.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
36.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
36.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
36.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
36.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
37.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
37.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
37.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
37.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
38.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
38.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
38.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
38.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
39.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
39.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
39.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
39.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
40.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
40.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
40.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
40.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
41.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
41.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
41.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
41.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
42.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
42.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
42.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
42.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
43.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN
95.00 95.25 95.50 95.75 96.00 96.25 96.50 96.75 97.00
3.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
3.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
3.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
4.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
4.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
4.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
4.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
5.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
5.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
5.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
5.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
6.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
6.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
6.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
6.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
7.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
7.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
7.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
7.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
8.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
8.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
8.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
8.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
9.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
9.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
9.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
9.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
10.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
10.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
10.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ...
35.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
36.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
36.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
36.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
36.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
37.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
37.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
37.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
37.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
38.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
38.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
38.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
38.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
39.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
39.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
39.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
39.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
40.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
40.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
40.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
40.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
41.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
41.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
41.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
41.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
42.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
42.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN
42.50 NaN NaN NaN NaN NaN NaN NaN NaN NaN
42.75 NaN NaN NaN NaN NaN NaN NaN NaN NaN
43.00 NaN NaN NaN NaN NaN NaN NaN NaN NaN
[160 rows x 148 columns]
我的 numpy 数组如下所示:
print raster_arr
[[ 0. 0. 0. ..., 0.64464766 0.78923023
0.90317035]
[ 0. 0. 0. ..., 1.39210367 2.56416273
1.28261185]
[ 0. 0. 0. ..., 0.63526356 0.66092908
1.5844413 ]
...,
[ 2.04395676 1.64457083 1.70771551 ..., 8.11063385 2.57144356
1.60219038]
[ 2.46784496 2.20636702 1.82298481 ..., 2.11637998 2.1444006
2.13336754]
[ 3.26898718 3.19584775 2.69124269 ..., 2.74416089 2.27447248
6.18890047]]
Process finished with exit code 0
我想将 numpy 中的所有值复制到 pandas 数据框中,并在数据框中定义索引和列。
pandas dataframe 和 numpy array 的形状是一样的。
最佳答案
您可以使用 DataFrame
构造函数如:pd.DataFrame(data=raster_arr, index=raster_arr_df.index, columns=raster_arr_df.columns)
:
data : numpy ndarray (structured or homogeneous), dict, or DataFrame Dict can contain Series, arrays, constants, or list-like objects
index : Index or array-like Index to use for resulting frame. Will default to np.arange(n) if no indexing information part of input data and no index provided
columns : Index or array-like Column labels to use for resulting frame. Will default to np.arange(n) if no column labels are provided
示例:
print raster_arr_df
a b c d
1 NaN NaN NaN NaN
2 NaN NaN NaN NaN
3 NaN NaN NaN NaN
print raster_arr
[[1 1 3 0]
[4 2 6 0]
[4 3 9 5]]
print pd.DataFrame(data=raster_arr, index=raster_arr_df.index, columns=raster_arr_df.columns)
a b c d
1 1 1 3 0
2 4 2 6 0
3 4 3 9 5
关于python - 如何在 pandas 二维数据框中复制 numpy 二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35666766/