【问题标题】:python pandas multiple column sumpython pandas多列总和
【发布时间】:2019-02-04 00:33:10
【问题描述】:

需要一些建议:我正在尝试将 SERIAL COUNT 字段与相同 ITEM NUMBER 的 GROUP 中的 SERIAL NUMBERS 总数相加?欢迎提出任何建议?

 fincon_serials = pd.read_csv('Raw Data/LISTSNO Calvinia.TXT',skiprows = 1)

 fincon_codes = pd.read_excel('Raw Data/STKCOUNT Calvinia.xls', index=None)

 fincon_codes = fincon_codes.drop(columns=['GROUP','BIN','Unnamed: 5'])

 fincon_codes = pd.merge(fincon_codes, fincon_serials[['ITEM NUMBER', 'SERIAL NUMBER']], on = ['ITEM NUMBER'])

 fincon_codes['SERIAL COUNT'] = 1

 fincon_codes = fincon_codes.groupby(['ITEM NUMBER','CAT','DESCRIPTION','NORMAL','FAULTY','SUPPLR','SWP-OUT','TOTAL','COST','VALUE','SERIAL NUMBER'])[['SERIAL COUNT']].sum()

 fincon_codes.head()

这是我的第一个问题,如果格式不正确,请接受我的歉意。

我已经在 PANDAS 文档上搜索了解决方案,但找不到解决方案并且适合我想做的事情,因为 SERIAL COUNT 列应该计算 THE SERIAL NUMBER 列中的 SERIALS 并将其添加到 SERIAL COUNT。

当前输出:

需要的是序列计数应该有每个项目编号组的总数。

谢谢

【问题讨论】:

  • 请勿发布示例数据帧或代码的图片
  • 能否向我们展示您的数据以及您的代码遇到了什么问题?
  • @gyoza 按要求添加

标签: python pandas pandas-groupby


【解决方案1】:

我已经创建了一些数据,例如:

item_number = pd.Series([1,2,2,1,1,3])
serial_number = pd.Series([112, 111, 111, 134, 155, 111])
another_column = pd.Series([1,2,3,4,5,6])
df = pd.concat([item_number, serial_number, another_column], 1)
df.columns = ['item_number', 'serial_number', 'another_column']

在您的数据中,“另一列”是任何另一列,例如“CAT”、“DESCROPTION”等。 如果您需要计算“项目编号”中唯一值“序列号”的计数,我认为您可以使用groupby(['item_number', 'serial_number'])

result = df.groupby(['item_number', 'serial_number']).another_column.count()

你会得到这样的输出:

item_number  serial_number
1            112              1
             134              1
             155              1
2            111              2
3            111              1

您需要将其与其他列连接吗?如果你能提供一个和平的数据,那么我可以写完整的例子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-02
    • 2021-07-26
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-07
    • 2021-04-14
    相关资源
    最近更新 更多