zoukankan      html  css  js  c++  java
  • pandas增加新列、对列改名字、将两列映射成字典

        df = pd.read_csv(r_f1)
        df['machine_Id'] = df['UserId']+df['knowledge_encoding']
        df.rename(columns={"UserId": "old_UserId","machine_Id":"UserId"},inplace=True)
        df.to_csv(w_f1,index=False)

     把其中的int类型转成字符串

    df['date'] = df['year'].map(str)+"/"+df['month'].map(str)+"/"+df['day'].map(str)

    将将列映射成字典

    df[["a", "b"]].set_index("a").to_dict()["b"]
    
    # output
    {1: 'q', 2: 'q', 3: 'w'}

    将三列映射成字典

    import pandas as pd
    from collections import defaultdict
    
    df = pd.DataFrame([[1,"girl","lisa"],[2,"girl","luxi"],[3,"boy","alika"],[4,"boy","join"]],columns = ["id","sex","name"])
    
    result = defaultdict(dict)
    for id,sex,name in df.itertuples(index = False):
        result[id][sex] = name
    
    print(result)
    
    # defaultdict(<class 'dict'>, {1: {'girl': 'lisa'}, 2: {'girl': 'luxi'}, 3: {'boy': 'alika'}, 4: {'boy': 'join'}})

    把df中a列的空值用b列的值做补充

    df['a'][df['a'].isnull()] = df['b'][df['a'].isnull()]
  • 相关阅读:
    vue之v-on
    垂直居中下
    垂直居中上
    vue之v-for
    vue之v-if和v-show
    vue之v-model
    vue之v-bind
    数学---目录
    【数学】证明题
    【计算机网络】应用层
  • 原文地址:https://www.cnblogs.com/hifalee/p/14335617.html
Copyright © 2011-2022 走看看