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的时候实现行转列和列转行的方法,希望对您有所帮助!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐