pandas 如何新增列?
脚本:
import pandasdf = pandas.DataFrame([dict(
id=1001,
province='河南',
city='郑州',
amount=100,
), dict(
id=1002,
province='河南',
city='安阳',
amount=100,
), dict(
id=1003,
province='河北',
city='保定',
amount=100,
), dict(
id=1004,
province='河北',
city='保定',
amount=100,
)])
data = df.groupby(by=['province'])['amount'].sum(axis=0)
print(data)
输出:
province河北 200
河南 200
Name: amount, dtype: int64
我希望增加一列,形成如下输出:
alias province省销售 河北 100
省销售 河南 200
Name: amount, dtype: int64
请问如何实现?
假设我要将列名称重新定义,并将形成扁平的数据,如何实现成为这种字典(我需要去循环 pandas 的统计结果,生成 sql 语句):
统计项 省份 城市 值省市销售 河北 保定 200
省市销售 河南 郑州 100
省市销售 河南 安阳 100
回答:
- 在分组后得到一个 DataFrame 的结果
传入 as_index=False
参数, province 不会被设置为索引,得到的结果是 DataFrame
data = df.groupby(by=['province'], as_index=False)['amount'].sum()
- 添加列
data['alias'] = '省销售'
- 重命名
data = data.rename(columns={'alias':'统计项', 'province':'省份', 'amount':'值'})
以上是 pandas 如何新增列? 的全部内容, 来源链接: utcz.com/a/161313.html