需要一些建议:我正在尝试将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列应该将SERIALS列在SERIAL NUMBER列中并将其添加到SERIAL COUNT中。 >
当前输出:
需要的是,每个商品编号组的SERIAL COUNT(总数)应该有一个总计。
谢谢
答案 0 :(得分:0)
我创建了一些数据,例如:
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
是否需要将此列与其他列连接?如果您可以放心地使用数据,那么我可以写完整的示例。