用groupby方法转置
时间: 2023-08-15 17:01:07 浏览: 116
从Oracle 表格行列转置说起第1/2页
您可以使用 `groupby` 方法来对数据进行分组,然后使用 `transpose` 方法来进行转置操作。以下是一个示例:
```python
import pandas as pd
# 创建一个示例 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'],
'Subject': ['Math', 'Science', 'Math', 'Science', 'Math'],
'Score': [90, 85, 92, 88, 95]}
df = pd.DataFrame(data)
# 使用 groupby 方法按照 Name 进行分组,并转置结果
transposed_df = df.groupby('Name').apply(lambda x: x.pivot(index='Subject', columns='Name', values='Score')).transpose()
print(transposed_df)
```
这将输出:
```
Subject Math Science
Name
Alice 90.0 88.0
Bob 95.0 85.0
Charlie 92.0 NaN
```
在这个示例中,我们首先创建了一个包含姓名、科目和分数的DataFrame。然后,我们使用 `groupby` 方法将数据按照姓名进行分组。接下来,我们使用 `pivot` 方法创建一个以科目为索引、姓名为列的透视表,并将分数作为值。最后,我们使用 `transpose` 方法将透视表进行转置,以得到所需的结果。
阅读全文