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

作者:

文章目录
  • 在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行转列和列转行内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • Python通过列表创建DataFrame的常见方法
    • Python pandas中DataFrame.dropna()删除缺失值用法实例
    • Python列表转一维DataFrame的完整指南
    • Python中DataFrame转列表的最全指南
    • Python使用melt和pivot实现DataFrame格式转换

    站内搜索