用 Python 编写一个程序来转置给定 DataFrame 中的索引和列
pythonpandasserver side programmingprogramming更新于 2024/6/19 14:04:17
输入 −
假设您有一个 DataFrame,索引和列转置的结果是,
转置后的 DataFrame 是 0 1 0 1 4 1 2 5 2 3 6
解决方案 1
定义 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("原始 DataFrame 是\n", df)
result = [[data[i][j] for i in range(len(data))] for j in range(len(data[0]))]
df2 = pd.DataFrame(result)
print("转置 DataFrame 是\n", df2)
输出
原始 DataFrame 是 0 1 2 0 1 2 3 1 4 5 6 转置 DataFrame 是 0 1 0 1 4 1 2 5 2 3 6
解决方案 2
定义 DataFrame
将转置方法 df.T 或 df.transpose() 应用于 DataFrame。
df.transpose() # 或 df.T
示例
让我们看看完整的实现,以便更好地理解 −
import pandas as pd
data = [[1,2,3],[4,5,6]]
df = pd.DataFrame(data)
print("原始 DataFrame 是\n", df)
print("转置后的 DataFrame 是\n", df.transpose())
输出
原始 DataFrame 是 0 1 2 0 1 2 3 1 4 5 6 转置后的 DataFrame 是 0 1 0 1 4 1 2 5 2 3 6
解决方案 3
定义 DataFrame
Zip 方法返回一个元组的迭代器。应用 * 将 unzip 应用于二维列表并对其进行压缩。它定义如下,
result = zip(*data)
将结果转换为 DataFrame,
df2 = pd.DataFrame(result)
示例
让我们看看完整的实现以便更好地理解 −
import pandas as pd
data = [[1,2,3],[4,5,6]]
df = pd.DataFrame(data)
print("原始 DataFrame 是\n", df)
result = zip(*data)
df2 = pd.DataFrame(result)
print("转置 DataFrame 是\n", df2)
输出
原始 DataFrame 是 0 1 2 0 1 2 3 1 4 5 6 转置 DataFrame 是 0 1 0 1 4 1 2 5 2 3 6
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

