[英]I have a dataframe with two columns, “major one” and “major two”. How can I make a new column “majors”?
For example, currently my data looks like (mockup): 例如,目前我的数据看起来像(样机):
In: 在:
print(pandas.pivot_table(dataframe,values='id',index=['major_one','major_two'],columns='status',aggfunc='count',fill_value=fill_character),'\n')
Out: 日期:
status Registered Withdrawn
major_one major_two
ENGL BIOL 3 0
FILM 10 0
BIOL FILM 4 0
ENGL 7 1
I want it to look like: 我希望它看起来像:
status Registered Withdrawn
majors
ENGL 27 1
BIOL 3 0
FILM 14 0
You could try melting your original dataframe before pivoting so that you have a single "majors" column and THEN pivot on the majors column as your index. 您可以尝试在旋转之前熔化原始数据帧,以便在主要列上有一个“majors”列和THEN pivot作为索引。
eg 例如
# pd.melt(df, value_vars = ["major_one", "major_two"], var_name = "major")
# READ EDIT INSTEAD
Read the docs accordingly, the snippet above is based off what I imagine your input data looks like, but you haven't posted a sample at all. 相应地阅读文档,上面的代码段基于我想象的输入数据,但你还没有发布样本。
EDIT: 编辑:
pd.melt(df, value_vars = ['major_one', 'major_two'], var_name = 'major_number', value_name = "major", id_vars = ['id', 'status'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.