python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python dataframe行转列和列转行

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

作者:LucaTech

在python中,我们可以使用pandas库来处理表格数据,而pandas库中的核心数据类型就是DataFrame,在处理DataFrame数据时,有时候需要将行转换为列,或者将列转换为行,所以本文给大家介绍了如何使用pandas库实现行转列和列转行,需要的朋友可以参考下

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行转列和列转行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文