[英]How to copy numpy 2d array in pandas 2d dataframe
I have a pandas dataframe which has structure like below: 我有一个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]
And my numpy array looks like below: 我的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
I want to copy all the values in numpy to pandas dataframe with the define index and columns in dataframe. 我想使用dataframe中的define索引和列将numpy中的所有值复制到pandas数据帧。
The shape of both the pandas dataframe and the numpy array is the same. pandas数据帧和numpy数组的形状是相同的。
You can use DataFrame
constructor like: pd.DataFrame(data=raster_arr, index=raster_arr_df.index, columns=raster_arr_df.columns)
: 您可以使用
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
data :numpy ndarray(结构化或同类),dict或DataFrame Dict可以包含Series,数组,常量或类似列表的对象
index : Index or array-like Index to use for resulting frame.
index :用于结果帧的索引或类似数组的索引。 Will default to np.arange(n) if no indexing information part of input data and no index provided
如果没有索引信息部分输入数据且没有提供索引,则默认为np.arange(n)
columns : Index or array-like Column labels to use for resulting frame.
columns :用于结果帧的索引或类似数组的列标签。 Will default to np.arange(n) if no column labels are provided
如果未提供列标签,则默认为np.arange(n)
Sample: 样品:
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
pandas.DataFrame(< numpy array >, index=df.index, columns=df.columns, dtype=None, copy=False)
pandas.DataFrame(< numpy array >,index = df.index,columns = df.columns,dtype = None,copy = False)
where: data is your numpy array, index is your rows for dataframe, columns is the columns. 其中:data是你的numpy数组,index是数据帧的行,列是列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.