weixin_46577020
爱吃水果的小金
采纳率100%
2021-03-25 19:26

求各位大佬指点指点 pandas处理数据问题

已结题

college_list = [
    ["北京", "教育部", "综合", "本科"],  # 2
    [ "北京", "教育部", "综合", "本科/专科"],
    [ "天津", "天津市教育委员会", "语言", "其他"],
    [ "天津", "天津市教育委员会", "财经", "专科"],
    [ "上海", "天津市教育委员会", "财经", "专科"],
    [ "天津", "天津市教育委员会", "财经", "本科/专科"],
    [ "北京", "天津市教育委员会", "财经", "其他"],
    ["上海", "天津市教育委员会", "财经", "本科/专科"]
]

PS:想根据地区统计每个地区的本科和专科数量。。。统计后写成列表

结果:地区   本科   专科
          北京      2        1
           天津     1         2
.。。。。。。。。。。。。。。
 

  • 点赞
  • 收藏
  • 复制链接分享

3条回答

  • muyashui Jack_Yang(数据分析及可视化) 2月前

    猜测如果一个学校 既有本科 也有专业 , 算本科;  其他算专科, 代码如下:

    import pandas  as pd
    college_list = [
        ["北京", "教育部", "综合", "本科"],  # 2
        [ "北京", "教育部", "综合", "本科/专科"],
        [ "天津", "天津市教育委员会", "语言", "其他"],
        [ "天津", "天津市教育委员会", "财经", "专科"],
        [ "上海", "天津市教育委员会", "财经", "专科"],
        [ "天津", "天津市教育委员会", "财经", "本科/专科"],
        [ "北京", "天津市教育委员会", "财经", "其他"],
        ["上海", "天津市教育委员会", "财经", "本科/专科"]
    ]
    
    data = pd.DataFrame(college_list,columns=['地区','类型1','类型2','等级'])
    data['等级'] = data['等级'].str.split('/',expand=True)[0]
    data['等级'].replace('其他','专科',inplace=True)
    result1 = data.pivot_table('类型1',index='地区',columns='等级',aggfunc='count')
    点赞 评论 复制链接分享
  • herosunly herosunly 2月前
    import pandas as pd
    
    college_list = [
        ["北京", "教育部", "综合", "本科"],  # 2
        [ "北京", "教育部", "综合", "本科/专科"],
        [ "天津", "天津市教育委员会", "语言", "其他"],
        [ "天津", "天津市教育委员会", "财经", "专科"],
        [ "上海", "天津市教育委员会", "财经", "专科"],
        [ "天津", "天津市教育委员会", "财经", "本科/专科"],
        [ "北京", "天津市教育委员会", "财经", "其他"],
        ["上海", "天津市教育委员会", "财经", "本科/专科"]
    ]
    
    df = pd.DataFrame(college_list)
    df.columns = ['province', 'department', 'property', 'degree']
    df['bachelor'] = df['degree'].apply(lambda x:1 if '本科' in x else 0) # 本科
    df['associate'] = df['degree'].apply(lambda x:1 if '专科' in x else 0) # 专科
    
    new_df = df.groupby(['province'])['bachelor', 'associate'].sum().reset_index()
    new_df.columns = ['省份', '本科', '专科']
    点赞 1 评论 复制链接分享
  • weixin_46577020 爱吃水果的小金 2月前

     

    点赞 评论 复制链接分享

相关推荐