想把金额列分成(0-5],(5-20],(20-50],(50,+]这几组,然后按照标识列为1的列和标识列为2的列分别统计分组后的每组为“1”的个数,请问如何实现?
新建 Microsoft Excel 工作表 (3).xlsx
import pandas as pd data=pd.read_excel("D:\\360安全浏览器下载\\1604632491_331249.xlsx") data["金额分组"]=pd.cut(data.金额, [0,5, 20, 50,float('inf')])
data[data["标识"]==1]["金额"].groupby(data[data["标识"]==1]["金额分组"]).count()
提供在df外操作的解法
df =pd.read_excel("C:\\Users\\Administrator\\Downloads\\1604632491_331249.xlsx") ls = list(df['金额'].loc[df['标识'] == 1]) dic = {} intervals = {'0-5':0,'5-20':0,'20-50':0,'50-{}'.format(max(ls)):0} for _ in ls: for i in intervals: star,end = tuple(i.split('-')) if int(star) < _ <= int(end) : intervals[i] += 1 print(intervals)
各位大佬们,想咨询一下大家有没有遇到过这个问题。python连接oracle数据库时出现无监听程序错误,报错如下的,应该怎么搞定呀