关于dataframe的groupby结果的数据类型的问题

 问题:数据分组后找不到生成的新dataframe,无法进行下一步的计算与统计。

测试代码:

import pandas as pd
data=pd.read_csv('心脏病数据.csv')
gp=data.groupby('age')#按age分组
age=[]
ct=[]
ct=0
for i in gp:
    print('=============={}==========='.format(ct))
    ct+=1
    print(i)
    ct1=0
    for j in i:
        print('第{}个元素:'.format(ct1),j,type(j))
        ct1+=1
'''经过测验得知,groupby生成元组构成的迭代器,每个元组由两个元素组成,第一个元素为分组依据,第二个元素为分组后的dataframe'''

部分结果展示:

==============0===========
(29.0,       age  sex   cp  trestbps   chol  ...  oldpeak  slope   ca  thal  target
131  29.0  1.0  2.0     130.0  204.0  ...      0.0    1.0  0.0   3.0       0

[1 rows x 14 columns])
第0个元素: 29.0 <class 'float'>
第1个元素:       age  sex   cp  trestbps   chol  ...  oldpeak  slope   ca  thal  target
131  29.0  1.0  2.0     130.0  204.0  ...      0.0    1.0  0.0   3.0       0

[1 rows x 14 columns] <class 'pandas.core.frame.DataFrame'>
==============1===========
(34.0,       age  sex   cp  trestbps   chol  ...  oldpeak  slope   ca  thal  target
100  34.0  1.0  1.0     118.0  182.0  ...      0.0    1.0  0.0   3.0       0
224  34.0  0.0  2.0     118.0  210.0  ...      0.7    1.0  0.0   3.0       0

[2 rows x 14 columns])
第0个元素: 34.0 <class 'float'>
第1个元素:       age  sex   cp  trestbps   chol  ...  oldpeak  slope   ca  thal  target
100  34.0  1.0  1.0     118.0  182.0  ...      0.0    1.0  0.0   3.0       0
224  34.0  0.0  2.0     118.0  210.0  ...      0.7    1.0  0.0   3.0       0

[2 rows x 14 columns] <class 'pandas.core.frame.DataFrame'>

结论:

在这里<class 'pandas.core.frame.DataFrame'>是迭代器中每个元组的第二个元素,因此对分组后的数据再次进行处理时,需要迭代展开迭代器,然后取出其中的第二个元素。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值