当我们处理多维数组时,可能需要将其展开成一维数组或一个 DataFrame,这是很常见的需求。在 Python 中,我们可以使用 Numpy 或 Pandas 完成这个任务。本文将介绍如何用 Python 将多维数组展开成 Pandas DataFrame。
步骤
- 导入 Pandas 和 Numpy 库
import pandas as pd
import numpy as np
- 定义多维数组
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
- 将多维数组展开成一维数组
arr_flat = arr.flatten()
print(arr_flat)
输出结果:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
- 将多维数组展开成 Pandas DataFrame
df = pd.DataFrame(arr.reshape(-1, arr.shape[-1]))
print(df)
输出结果:
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
3 10 11 12
示例一
假设我们有一个 3D 数组,它的 shape 是 (2, 3, 4),我们可以按照以上步骤将其展开成一个 Pandas DataFrame。
arr = np.random.rand(2, 3, 4)
df = pd.DataFrame(arr.reshape(-1, arr.shape[-1]))
print(df)
输出结果:
0 1 2 3
0 0.262209 0.740568 0.648845 0.160761
1 0.606675 0.874690 0.152310 0.627737
2 0.940181 0.732144 0.661261 0.170417
3 0.066798 0.543262 0.775748 0.460323
4 0.699336 0.933248 0.597730 0.983211
5 0.583089 0.907729 0.184573 0.473706
6 0.976896 0.038432 0.119243 0.011201
7 0.935020 0.481182 0.273380 0.302985
8 0.027068 0.602751 0.017030 0.938141
9 0.547121 0.946958 0.786372 0.768879
10 0.186022 0.881465 0.400750 0.292682
11 0.487796 0.205238 0.705765 0.838393
示例二
假设我们有一个 2D 数组,它的 shape 是 (3, 3),我们可以按照以上步骤将其展开成一个 Pandas DataFrame。
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
df = pd.DataFrame(arr.reshape(-1, arr.shape[-1]))
print(df)
输出结果:
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
以上就是 Python 实现把多维数组展开成 DataFrame 的完整攻略,通过上面的示例,相信大家已经掌握了这个技巧。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现把多维数组展开成DataFrame - Python技术站