当前位置: 代码网 > it编程>前端脚本>Python > Python处理表格dataframe时实现行转列和列转行的方法

Python处理表格dataframe时实现行转列和列转行的方法

2025年12月22日 Python 我要评论
python处理表格dataframe-如何实现行转列和列转行?在python中,我们可以使用pandas库来处理表格数据,而pandas库中的核心数据类型就是dataframe。在处理datafra

python处理表格dataframe-如何实现行转列和列转行?

在python中,我们可以使用pandas库来处理表格数据,而pandas库中的核心数据类型就是dataframe。在处理dataframe数据时,有时候需要将行转换为列,或者将列转换为行。下面是一个简单的例子,展示如何使用pandas库实现行转列和列转行。

创建表

import pandas as pd

# 创建一个dataframe
df = pd.dataframe({
    'name': ['john', 'mary', 'peter'],
    'math': [80, 90, 70],
    'english': [70, 85, 90],
    'science': [75, 95, 80]
})
    name  math  english  science
0   john    80       70       75
1   mary    90       85       95
2  peter    70       90       80

行转列

# 使用melt函数将行转列
df_melt = pd.melt(df, id_vars=['name'], var_name='subject', value_name='score')

print(df_pivot)

在上面的代码中,我们首先创建了一个包含学生成绩的dataframe,然后使用melt函数将每个学生的科目成绩转换为一列,最终输出结果如下:

    name  subject  score
0   john     math     80
1   mary     math     90
2  peter     math     70
3   john  english     70
4   mary  english     85
5  peter  english     90
6   john  science     75
7   mary  science     95
8  peter  science     80

列转行

列转行通常也被称为数据堆叠,可以使用pandas库中的pivot函数来实现。下面是一个示例代码:

# 使用pivot函数再将行转列
df_pivot = df_meld.pivot(index='name', columns='subject', values='score')
print(df_pivot)
subject  english  math  science
name                           
john          70    80       75
mary          85    90       95
peter         90    70       80

到此这篇关于python处理表格dataframe时实现行转列和列转行的方法的文章就介绍到这了,更多相关python dataframe行转列和列转行内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com