如何在pandas groupby.size()之后重命名列?

时间:2018-11-05 22:55:24

标签: python pandas group-by pandas-groupby series

我有一个很大的excel文件,格式如下。

df = pd.DataFrame({'Id':["a","b","c"],'Id2':["a","b","z"],'Amount':[10, 30,50]})

print(df)

我要计算以下公式。

x=(df.groupby(["Id","Id2"]).size())/len(df)
print (x)

如何在右列中添加名称? (0.3333 ...) 将名称添加到该列后,我想将其另存为.txt格式。 非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用pd.Series.rename,然后使用reset_index转换为数据框:

x = x.rename('Value').reset_index()

print(x)

  Id Id2     Value
0  a   a  0.333333
1  b   b  0.333333
2  c   z  0.333333

然后像通常使用数据框一样导出到txt / csv:

x.to_csv('out.txt', index=False)