python熊猫多列总和

需要一些建议:我正在尝试将 SERIAL COUNT 字段与同一项目编号的 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。


电流输出:

http://img.mukewang.com/60bc67890001dc4f17270390.jpg

需要的是 SERIAL COUNT 应该有每个项目编号组的总数。



斯蒂芬大帝
浏览 140回答 1
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_number1            112              1             134              1             155              12            111              23            111              1您是否需要将其与其他列连接?如果您可以提供一个和平的数据,那么我可以编写完整的示例。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python