![](/img/trans.png)
[英]Turning a 6 value 1 dimensional numpy.ndarray into a 6 dimensional
[英]Add third dimension to a 2-dimensional numpy.ndarray
我有一個包含 50 個時間序列的數組。 每個時間序列有 50 個值。 因此,我的數組的形狀是:
print(arr.shape) = (50,50)
我想提取 50 個時間序列,並為每個時間序列分配一年:
years = list(range(1900,1950))
print(len(years)) = 50
秩序應該維持。 years[0]
應該對應於arr[0,:]
(這是第一個時間序列)。
我很高興有任何幫助!
編輯:這是小例子
import random
years = list(range(1900,1904))
values = random.sample(range(10, 30), 16)
arr = np.reshape(values, (4, 4))
假設您有以下數據:
import numpy as np
data = np.random.randint(low=1, high=9, size=(5, 4))
years = np.arange(1900, 1905)
您可以使用np.concatenate
:
>>> arr = np.concatenate([years[:, None], data], axis=1)
>>> arr
array([[1900, 5, 8, 1, 2],
[1901, 3, 3, 1, 5],
[1902, 7, 4, 7, 5],
[1903, 1, 6, 6, 4],
[1904, 4, 5, 3, 8]])
或者可能使用pandas.DataFrame
:
>>> import pandas as pd
>>> df = pd.DataFrame(data)
>>> df = df.assign(year=years)
>>> df = df.set_index("year")
>>> df
0 1 2 3
year
1900 3 2 8 1
1901 5 8 5 2
1902 3 5 4 3
1903 6 2 7 6
1904 8 8 4 6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.