python数据处理Datafram多行转多列
时间: 2023-10-28 11:05:52 浏览: 57
在 Pandas 中,你可以使用 `pivot()` 函数将多行转换为多列。以下是一个例子:
假设你有以下数据,每个元素包含姓名、科目和成绩:
```python
import pandas as pd
data = [('Alice', 'Math', 90),
('Alice', 'English', 85),
('Alice', 'History', 95),
('Bob', 'Math', 70),
('Bob', 'English', 80),
('Bob', 'History', 75),
('Charlie', 'Math', 80),
('Charlie', 'English', 90),
('Charlie', 'History', 95)]
df = pd.DataFrame(data, columns=['Name', 'Subject', 'Score'])
```
你想要将每个人的所有科目的成绩合并到一行中,可以使用以下代码:
```python
result = df.pivot(index='Name', columns='Subject', values='Score')
# 打印结果
print(result)
```
输出:
```
Subject English History Math
Name
Alice 85 95 90
Bob 80 75 70
Charlie 90 95 80
```
在这个例子中,我们使用 `pivot()` 函数将每个人的所有科目的成绩合并到一行中。我们指定 `index='Name'`,表示姓名是行索引,`columns='Subject'`,表示科目是列索引,`values='Score'`,表示成绩是值。最后,我们将结果打印出来。