加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python-工程数据结构/信息检索和存储

发布时间:2020-12-17 17:35:37 所属栏目:Python 来源:网络整理
导读:我有一个包含不同子区域的数据框.我所希望的是能够将它们组合在一起,并在另一个数据框中对其进行计数.这就是我称为数据的数据框的样子: Area0 TEX0011 TEX0022 TEX0033 ARZ0044 ARZ0155 MSS0346 NWY0017 NWY003 我已经尝试过使用循环来检索需要的信息的循环

我有一个包含不同子区域的数据框.我所希望的是能够将它们组合在一起,并在另一个数据框中对其进行计数.这就是我称为数据的数据框的样子:

    Area
0 TEX001
1 TEX002
2 TEX003
3 ARZ004
4 ARZ015
5 MSS034
6 NWY001
7 NWY003

我已经尝试过使用循环来检索需要的信息的循环,但是我只会得到很多布尔值.

这是我尝试过的:

u_area=list(data['U_area'].unique())
listo=[]

for i in u_area:
      d={}
      d['Sector']= i
      d['Sec_name]=list(data['Area'].str.startswith(i))
      print (x)
      d['Total']= len(d['sites'])
      listo.append(d)  

我希望有一个包含许多类似以下内容的字典的列表,以便我可以用熊猫对列表进行数据构架,使其具有如下所示的内容:

    Sector   Sec_name              Total
     TEX     TEX001,TEX002,TEX003,3
     ARZ     ARZ004,ARZ035         2
     MSS     MSS034                 1

我有那些布尔值我做错了吗?

最佳答案
IIUC与agg和groupby

yourdf=df.groupby(df['Area'].str[:3])['Area'].agg([','.join,'count'])
yourdf.columns=['Sec_name','Total']
yourdf# if need reset_index adding yourdf.reset_index(inplace=True)
Out[17]: 
                  Sec_name  Total
Area                             
ARZ          ARZ004,ARZ015      2
MSS                 MSS034      1
NWY          NWY001,NWY003      2
TEX   TEX001,TEX003      3

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读