将 (720, 720) 的 pandas DataFrame 重塑为 (518400, ) 2D 为 1D
Reshape a pandas DataFrame of (720, 720) into (518400, ) 2D into 1D
我有一个形状为 720*720 2D 的 DataFrame。我想在不改变其值的情况下将其转换为一维维度。我如何使用 Pandas 执行此操作?
使用 numpy.ravel
将 DataFrame 转换为 numpy 数组:
np.random.seed(123)
df = pd.DataFrame(np.random.randint(10, size=(3,3)))
print (df)
0 1 2
0 2 2 6
1 1 3 9
2 6 1 0
out = df.values.ravel('F')
#alternative for pandas 0.24+
#out = df.to_numpy().ravel('F')
print (out)
[2 1 6 2 3 1 6 9 0]
s = pd.Series(df.values.ravel('F'))
#alternative for pandas 0.24+
#s = pd.Series(df.to_numpy().ravel('F'))
print (s)
0 2
1 1
2 6
3 2
4 3
5 1
6 6
7 9
8 0
dtype: int32
我有一个形状为 720*720 2D 的 DataFrame。我想在不改变其值的情况下将其转换为一维维度。我如何使用 Pandas 执行此操作?
使用 numpy.ravel
将 DataFrame 转换为 numpy 数组:
np.random.seed(123)
df = pd.DataFrame(np.random.randint(10, size=(3,3)))
print (df)
0 1 2
0 2 2 6
1 1 3 9
2 6 1 0
out = df.values.ravel('F')
#alternative for pandas 0.24+
#out = df.to_numpy().ravel('F')
print (out)
[2 1 6 2 3 1 6 9 0]
s = pd.Series(df.values.ravel('F'))
#alternative for pandas 0.24+
#s = pd.Series(df.to_numpy().ravel('F'))
print (s)
0 2
1 1
2 6
3 2
4 3
5 1
6 6
7 9
8 0
dtype: int32