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