使用 Python 编写程序,对给定 DataFrame 的索引和列进行转置。
输入 -
假设您有一个 DataFrame,并且索引和列转置的结果为:
Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
方案 1
设置嵌套列表推导式,迭代二维列表数据中的每个元素,并将结果存储在 result 中。
定义一个 DataFrame
result = [[data[i][j] for i in range(len(data))] for j in range(len(data[0]))
将结果转换为 DataFrame,
df2 = pd.DataFrame(result)
示例
让我们看看完整的实现,以便更好地理解 -
import pandas as pd
data = [[1,2,3],[4,5,6]]
df = pd.DataFrame(data)
print("Original DataFrame is\n", df)
result = [[data[i][j] for i in range(len(data))] for j in range(len(data[0]))]
df2 = pd.DataFrame(result)
print("Transposed DataFrame is\n", df2)输出
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
方案 2
设置嵌套列表推导式,迭代二维列表数据中的每个元素,并将结果存储在 result 中。
对 DataFrame 应用转置方法 df.T 或 df.transpose()。
df.transpose() # or df.T
示例
让我们看看完整的实现,以便更好地理解 -
import pandas as pd
data = [[1,2,3],[4,5,6]]
df = pd.DataFrame(data)
print("Original DataFrame is\n", df)
print("Transposed DataFrame is\n", df.transpose())输出
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
方案 3
设置嵌套列表推导式,迭代二维列表数据中的每个元素,并将结果存储在 result 中。
zip 方法返回一个元组迭代器。使用 * 和 zip 对二维列表应用解压操作。定义如下,
result = zip(*data)
将结果转换为 DataFrame,
df2 = pd.DataFrame(result)
示例
让我们看看完整的实现,以便更好地理解 -
import pandas as pd
data = [[1,2,3],[4,5,6]]
df = pd.DataFrame(data)
print("Original DataFrame is\n", df)
result = zip(*data)
df2 = pd.DataFrame(result)
print("Transposed DataFrame is\n", df2)输出
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP