2016-02-27 30 views
2

我有一種結構像下面一個熊貓數據幀:如何複製numpy的二維數組中的大熊貓2D數據幀

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 dataframe中的定義索引和dataframe中的列。

熊貓數據框和numpy數組的形狀是相同的。

+0

也許嘗試'DataFrame'構造像'打印pd.DataFrame(raster_arr,指數= raster_arr_df.index, columns = raster_arr_df.columns)' – jezrael

回答

2

pandas.DataFrame(< numpy的陣列>,索引= df.index,列= df.columns,D型細胞=無, 拷貝=假)

其中: 數據是您的numpy數組, 索引是你的行數據幀, 列是列。

4

您可以使用DataFrame構造,如:pd.DataFrame(data=raster_arr, index=raster_arr_df.index, columns=raster_arr_df.columns)

數據:numpy的ndarray(結構化或同質),字典,或數據幀 快譯通可以包含系列,數組常量或列表狀物體

索引:索引或類似數組 用於結果幀的索引。將默認爲np.arange(n)的,如果輸入數據的沒有索引信息的一部分和沒有索引提供

:索引或陣列狀 列標籤用於產生幀。將默認爲np.arange(N)如果提供

沒有列標籤樣本:

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 
+0

對不起,但爲什麼我的回答不被接受?感謝您的解釋。有什麼問題嗎? – jezrael