我有下一个问题。
例如,我在 Pandas 中有下一个 DataFrame
a b c
'x' 1 100
'y' 2 100
'z' 3 100
现在我想从列中的值创建a
新数据帧的标题,列b
中的值是c
我用于索引的第一行和第一列中的对应值。目前我使用下一个代码:
import pandas
piv = df.pivot(index='c', columns='a')
new_df = pandas.DataFrame(piv.to_records())
输出对我来说不够合适,因为我有b
一个新 DataFrame 的列名。也许有人可以在这里告诉我一个更好的解决方案来准确获得下一个输出:
index 'x' 'y' 'z'
100 1 2 3
应该不是数据透视表,只是一个真正的 DataFrame。
您需要将 values 运算符添加到 pivot 函数:
piv = df.pivot(index='c', columns='a', values='b')
完整示例:
piv = df.pivot(index='c', columns='a', values='b')
new_df = pd.DataFrame(piv.to_records()).rename(columns={'c':'index'})
new_df
index 'x' 'y' 'z'
0 100 1 2 3
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句