‘壹’ 怎么对python中列表类型(List)进行分组
什么是“对列表类型进行分组”?。。。
要按什么规则分组?。。。
‘贰’ python 列表分组问题
a=[{'id':12345,'name':'aaa'},{'id':3434,'name':'bbb'},{'id':3434,'name':'aaa'},{'id':9808,'name':'bbb'}]
name={}
for tmp in a:
if tmp['name'] in name:
tmp_list = name[tmp['name']]
tmp_list.append(tmp)
name[tmp['name']]= tmp_list
else:
name[tmp['name']]=[]
name[tmp['name']]=[tmp]
‘叁’ 用python计算表格数据,分组
不知道理解题意是否正确,见如下代码:
group1={}
group2={}
foriteminraw_items_list:
ifitem['prov1']notingroup1.keys():
group1[item['prov1']]=list()
else:
group1[item['prov1']].append((item['count'],item['value']))
ifitem['prov2']notingroup2.keys():
group2[item['prov2']]=list()
else:
group2[item['prov2']].append((item['count'],item['value']))
#
forgingroup1.keys():
value_list=group1[g]
count=0.0
value=0.0
forvinvalue_list:count+=v[0]
forvinvalue_list:value+=v[0]/count*v[1]
print'Averageofgroup1-%sis:%f'(g,value/len(value_list))
#averageofgroup2
#...
‘肆’ python字典分组
$python
Python2.7.2+(default,Jul202012,22:12:53)
[GCC4.6.1]onlinux2
Type"help","right","credits"or"license"formoreinformation.
>>>importcollections
>>>dic=dict([
...(('a',1),[1,2,3,4]),
...(('b',1),[5,6,7,8]),
...(('c',2),[1,2,3,4]),
...])
>>>counter=collections.Counter((x[1]forxindic.iterkeys()))
>>>counter
Counter({1:2,2:1})
>>>
‘伍’ 怎么用python随机生成一组整数,把它们按照奇数和偶数来进行分组
‘陆’ 怎么对python中列表类型进行分组
如下,将不同的类型及值放到字典中
例如列表lst有int,list,tuple,dict,str,float等类型。
lst = [1,2,3,'54',45.0,'784','string',[1,2,3],(3,6,7),{"no1":1,"no2":2}]
#定义dict_lstype,来对列表lst进行分组
dict_lstype={}
for i in lst:
type_i = type(i)
#如果i的类型在字典中已经存在,则进行追加;如果不存在,则新增一个类型的列表
if type_i in dict_lstype:
dict_lstype[type_i].append(i)
else:
dict_lstype[type_i] = [i]
print dict_lstype
‘柒’ python分组处理信息
这个是列表里面套字典,只要一个for循环就可以解决了
for item in list:
if item[name]==‘aaa’:
list1.append[item]
elif item[name]==‘bbb’:
list2.append[item]
‘捌’ Python 中 dataframe.groupby按多条件分组怎么做
df.groupby(['YEAR','MONTH','DAY','HOUR'])['TITLE'].apply(lambda x:x.tolist())
或
df.groupby(['YEAR','MONTH','DAY','HOUR'])['TITLE'].apply(lambda x:','.join(x.tolist()))
‘玖’ python 里groupby进行分组统计,为什么老实反馈numpy的事
‘拾’ python 字符分组
按照你的思路,以/为分割条件
使用字符串的find方法
S.find(substr, [start, [end]])
#返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索
查找到/ask/之后出现的第一个/
这样可以得到两个/之间的这个单词,也就是分类的名字
计数问题可以使用python字典来进行,key不会重复,相同的key对value+1
keywords={}
start_idx=5
withopen('C:\Users\admin\Desktop\a.txt')asf:
forlineinf:
idx=line.find('/',start_idx)
ifidx!=-1:
key=line[start_idx:idx]
ifkeywords.has_key(key):
keywords[key]+=1
else:
keywords[key]=1
printkeywords
以上代码仅供参考