zoukankan      html  css  js  c++  java
  • pandas--apply/applymap/map

    import pandas as pd
    df=pd.DataFrame({'A':[1,2,3],"B":[11,22,33]})
    df['C']=df['A'].apply(lambda x : x+3)#apply运用于series的每个元素,对series运用apply就是对series的每一个元素进行处理
    df2=df.applymap(lambda x : x+7)#applymap应用于dataframe中的每个元素
    df3=df.apply(sum,axis=1)#对dataframe运用apply函数,是以行或者是列为最小单元的
    df4=df.apply(sum,axis=0)
    print(df['A'].map(lambda x: x+6))#map可以对dataframe中的某一行中的每个元素进行操作
    print(df2)
    print(df3)
    print(df4)
    #map函数也可以进行映射
    ddf=pd.DataFrame({'name':['shun1','shun2'],"性别":['','']})#map函数通过字典进行映射
    ddf['性别']=ddf['性别'].map({'':'man','':'woman'})
    print(ddf)
    
    #map函数也可以通过函数进行映射
    def replace_function(x):
    new_x="man" if x=="" else "woman"
    return new_x
    ddf['性别']=ddf['性别'].map(replace_function)
    print(ddf)
    
     
    
     map函数的使用
    
    def f(x):
    return x*x
    spam=[1,2,3,4]
    r=list(map(f,spam))
    print(r)
    rr=list(map(str,spam))
    print(rr)
    import pandas as pd
    df1 = pd.DataFrame({"lot no":["aw12_A1",'aw13_a2','aw15_a2'],'date':[1,2,3]})
    list=['aw12','aw13']
    def check(x,list1):
        for i in list1:
            if i in x:
                return x
    #运用apply函数,可以使用带多个参数的函数
    #对series中的每个元素运用这个参数,对该参数运用之后返回一个值,函数里面的值
    lotlist = df1['lot no'].apply(check,args=(list,)).dropna().tolist()
    print(df1[df1['lot no'].isin(lotlist)]['date'])

    详情:https://zhuanlan.zhihu.com/p/100064394

  • 相关阅读:
    [LeetCode] 22. Generate Parentheses
    3. Longest Substring Without Repeating Characters
    Python floor() 函数
    Python fabs() 函数
    Python exp() 函数
    Python cmp() 函数
    Python ceil() 函数
    小样本学习综述
    如何评估两张图片的差异
    网络模型mAP计算实现代码
  • 原文地址:https://www.cnblogs.com/shunguo/p/14477018.html
Copyright © 2011-2022 走看看