在座的任何人都可以帮助我使用pandas处理xlsx文档吗?
问题是:我有两列文件。我想从“ A”列中获取值(这些是重复的),并从“ B”列获取足够的值并将其汇总。
例:
123abc 100
zxc345 500
123abc 120
zxc345 800
123abc 100
我想拥有:
123abc 320
zxc345 1300
现在,我的代码仅对该文件进行排序:
123abc 100
120
zxc345 500
800
另外,请注意,该条目仅显示一次:“ 123abc 100”,尽管事实是重复的。
先感谢您!
这是代码:
from sys import argv
import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
import sys
# print("ilosc argumentow",len(sys.argv))
if len(sys.argv) < 2:
print("Give me Excel file: " + sys.argv[0] + ' niezrealizowane.xlsx')
quit()
else:
print("*" * 50)
print("""Pracuje na: """, sys.argv[1])
print("*" * 50)
skrypt, ticket = argv
# ZGODNOSCI and NuMERKI are first row in each of affected columns.
data = pd.read_excel(ticket, index_col=None, na_values=['NA'], usecols = "F, H")
data2 = data.groupby(['ZGODNOSCI', 'NuMERKI'])['NuMERKI'].sum()
data2.to_excel('Edzia-test.xlsx')
问题来源:stackoverflow
使用groupby
df.groupby('A')['B'].sum()
例
>>> df
A B
0 123abc 100
1 zxc345 500
2 123abc 120
3 zxc345 800
4 123abc 100
>>> df.groupby('A')['B'].sum()
A
123abc 320
zxc345 1300
Name: B, dtype: int64
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。