datafram怎么行转列
时间: 2023-10-18 15:04:47 浏览: 76
华为HCIA-大数据认证练试题与答案-202010.docx
可以使用 pandas 中的 pivot_table 和 melt 函数来实现行列转换。
1. pivot_table 函数
pivot_table 函数可以将数据透视为一个新的表格,其中原始的行和列会被重新组合。以下是一个示例:
``` python
import pandas as pd
# 创建示例数据
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Subject': ['Math', 'English', 'Math'],
'Grade': [85, 70, 90]}
df = pd.DataFrame(data)
# 使用 pivot_table 函数进行转换
new_df = pd.pivot_table(df, values='Grade', index='Name', columns='Subject')
print(new_df)
```
输出结果为:
```
Subject English Math
Name
Alice NaN 85.0
Bob 70.0 NaN
Charlie NaN 90.0
```
2. melt 函数
melt 函数可以将宽格式的数据转换为长格式的数据。以下是一个示例:
``` python
import pandas as pd
# 创建示例数据
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Math': [85, 70, 90],
'English': [75, 80, 95]}
df = pd.DataFrame(data)
# 使用 melt 函数进行转换
new_df = pd.melt(df, id_vars=['Name'], var_name='Subject', value_name='Grade')
print(new_df)
```
输出结果为:
```
Name Subject Grade
0 Alice Math 85
1 Bob Math 70
2 Charlie Math 90
3 Alice English 75
4 Bob English 80
5 Charlie English 95
```
以上两种方法可以帮助你实现行列转换。需要注意的是,在使用 pivot_table 函数时需要注意索引、列和值的选择,而在使用 melt 函数时需要注意 id_vars、var_name 和 value_name 的设置。
阅读全文