繁体   English   中英

Pandas 用列值交换列名

[英]Pandas swap column names with column values

我有一个 df 看起来像这样:

User Chat_People Talk_People Schedule_Time
1    first       second      third
2    second      third       first

我想把它转换成这样:

User First         Second       Third
1    Chat_People   Talk_People  Schedule_Time
2    Schedule_Time Chat_People  Talk_People

我试着做:

df["First"] = df.apply((lambda x: col_name for col_name in ["Chat_People","Talk_People","Schedule_Time"] if x[col_name] == "first"), axis=1)

但是我遇到了:

TypeError: cannot create 'generator' instances

任何帮助将非常感激!

melt然后pivot

out = df.melt('User').pivot('User','value','variable').reset_index()
out
value  User          first       second          third
0         1    Chat_People  Talk_People  Schedule_Time
1         2  Schedule_Time  Chat_People    Talk_People

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM