大佬教程收集整理的这篇文章主要介绍了Python Pandas:按行透视 DataFrame 列,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个如下所示的 Pandas DataFrame,显示学生在多个科目中的分数:
name Subject score
0 Tom A 91
1 Tom B 92
2 Tom C 93
3 Bob A 94
4 Bob C 95
5 Ali B 96
6 Ali C 97
请注意,并非每个学生的所有科目都有分数。我想将它转变成这样的 DataFrame:
name A B C
0 Tom 91 92 93
1 Bob 94 95
2 Ali 96 97
在此支点中要实现的目标:
我是 Pandas 的新手,但我研究了 DataFrame.pivot_table(),但不幸的是找不到正确的方法。
您正确使用 pivot_table 来解决此问题:
df = df.pivot_table(index='Name',values='Score',columns='Subject') \
.reset_index() \
.rename_axis(None,axis=1)
print(df)
输出:
Name A B C
0 Ali NaN 96.0 97.0
1 Bob 94.0 NaN 95.0
2 Tom 91.0 92.0 93.0
Pivot 也适用于这种情况:
df = df.pivot(index='Name',axis=1)
,
这是解决方案
import pandas as pd
df= DATAFRAME [ as yours]
df1=df.pivot(index='Name',columns = 'Subject',values = 'Score').fillna('').round(decimals=0).astype(object)
输出
以上是大佬教程为你收集整理的Python Pandas:按行透视 DataFrame 列全部内容,希望文章能够帮你解决Python Pandas:按行透视 DataFrame 列所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。