Pandas使用reshape对DataFrame进行重塑

2023-02-24 00:00:00 pandas reshape 重塑

在 Pandas 中,可以使用 reshape() 方法对 DataFrame 进行重塑(reshape),即将数据从一种形状转换为另一种形状。

reshape() 方法可以接收一个元组作为参数,该元组包含了新的形状。新的形状的元素个数必须与原始 DataFrame 的元素个数相同,否则会引发错误。

以下是一个示例代码,展示了如何使用 reshape() 方法将一个 4 行 2 列的 DataFrame 转换为一个 2 行 4 列的 DataFrame:

import pandas as pd

# 创建一个 4 行 2 列的 DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]})

# 对 DataFrame 进行重塑
df_reshaped = df.values.reshape((2, 4))

# 输出原始 DataFrame 和重塑后的 DataFrame
print(df)
print(df_reshaped)

输出结果如下所示:

   A  B
0  1  5
1  2  6
2  3  7
3  4  8
[[1 5 2 6]
 [3 7 4 8]]

在这个示例中,我们首先创建了一个 4 行 2 列的 DataFrame,然后使用 values 属性获取 DataFrame 的值,并使用 reshape() 方法将其重塑为一个 2 行 4 列的 DataFrame。最后,我们输出原始 DataFrame 和重塑后的 DataFrame,以便比较它们的形状。

需要注意的是,使用 reshape() 方法对 DataFrame 进行重塑后,将无法保留 DataFrame 中的列名和行索引。如果需要保留列名和行索引,可以在重塑后的 DataFrame 上使用 rename() 方法和 index 属性来进行修改。

相关文章