为何pandas.melt()方法在我的DataFrame上无法正常工作?
pandas.melt() 未生效的解决办法
你遇到的问题核心是:pandas的melt方法不会原地修改原DataFrame,而是返回一个新的转换后的数据对象。你的代码里仅调用了pd.melt(),但没有将返回结果赋值给变量,最后输出的还是最初的df,所以看起来melt没起作用。
修正后的代码示例:
import pandas as pd df = pd.DataFrame({'team': ['A', 'B', 'C', 'D'], 'points': [88, 91, 99, 94], 'assists': [12, 17, 24, 28], 'rebounds': [22, 28, 30, 31]}) # 将melt的结果赋值给新变量 df_melted = pd.melt(df, id_vars=['team'], value_vars=['points','assists']) # 查看转换后的结果 print(df_melted) # 若要直接覆盖原DataFrame,可直接赋值 # df = pd.melt(df, id_vars=['team'], value_vars=['points','assists'])
执行后会得到转换后的长格式数据:
team variable value 0 A points 88 1 B points 91 2 C points 99 3 D points 94 4 A assists 12 5 B assists 17 6 C assists 24 7 D assists 28
内容的提问来源于stack exchange,提问作者Saurav Singh
相关产品推荐
相关产品推荐

