pandas 面试题挑战十二

作者: 人工智能人话翻译官 | 来源:发表于2019-06-02 23:22 被阅读69次

DataFrame中的apply方法,applymap方法有什么区别

DataFrame中的apply方法

import pandas as pd 
   
# 生成DF数据
gfg_string = 'geeksforgeeks'
gfg_list = 5 * [pd.Series(list(gfg_string))] 
   
gfg_df = pd.DataFrame(data = gfg_list)
print("Original dataframe:\n" + gfg_df.to_string(index = False,  header = False), end = '\n\n') 
   
#调用apply方法
new_gfg_df = gfg_df.apply(lambda x:x.sort_values(), axis = 1)  
#每次处理df中的一列,也就是一个Series

print("Transformed dataframe:\n" +  
      new_gfg_df.to_string(index = False, 
           header = False), end = '\n\n') 

输出


image.png

重点说明
df中的apply方法默认的处理一列。

DataFrame中的applymap方法


import pandas as pd 
   
# DataFrame 数据如下
gfg_string = 'geeksforgeeks'
gfg_list = 5 * [pd.Series(list(gfg_string))] 
gfg_df = pd.DataFrame(data = gfg_list) 
  
print("Original dataframe:\n" +  
       gfg_df.to_string(index = False, 
        header = False), end = '\n\n') 
   
#  applymap 方法
new_gfg_df = gfg_df.applymap(str.upper) 
#new_gfg_df = gfg_df.applymap(lambda x: print("me:{}".format(x)))  
#在DF中每次处理一个元素
print("Transformed dataframe:\n" +  
      new_gfg_df.to_string(index = False, 
            header = False), end = '\n\n') 
image.png

Series中的apply方法

Series中的apply方法


import pandas as pd 
   
# Series 数据
gfg_string = 'geeksforgeeks'
gfg_series = pd.Series(list(gfg_string)) 
print("Original series\n" + 
       gfg_series.to_string(index = False, 
            header = False), end = '\n\n') 
   

#apply每次处理一个元素
new_gfg_series = gfg_series.apply(str.upper) 
print("Transformed series:\n" +  
       new_gfg_series.to_string(index = False, 
                header = False), end = '\n\n') 

输出


image.png

相关文章

  • pandas 面试题挑战十二

    DataFrame中的apply方法,applymap方法有什么区别 DataFrame中的apply方法 输出 ...

  • pandas 面试题挑战一

    1 查看pandas的版本 解决办法 结果如下 2 如何通过list,numpy array, dict创建ser...

  • pandas 面试题挑战五

    计算两个Series之间的均方误差 现有两个Series如下: 计算两个Series之间的均方误差解决办法: 输出...

  • pandas 面试题挑战四

    13 如何把一个 numpy array 转换成规定形状的 dataframe 现有Series如下 要求转化为7...

  • pandas 面试题挑战六

    从Series的字符串中过滤出email地址 现有Series如下: 解决办法: 结果如下: 重点解读:这题的重点...

  • pandas 面试题挑战九

    按要求导入csv数据,每隔50行数据取一条合并成新的df 输出 重点解读:pd.read_csv中最重要的是chu...

  • pandas 面试题挑战十

    查询df中指定行与列的数据 现有数据如下: 查询最贵的价格,解决方式如下: 输出 查询最贵价格的车,相关的'Man...

  • pandas 面试题挑战二

    6 取出Series 1中独有的数据 现有两个Series, ser1和ser2 如下: 取出在ser1中出现,但...

  • pandas 面试题挑战七

    按照指定要求前向填充元素(ffill forward fill) 构建数据如下: 输出 分别使用前一行/前一列数据...

  • pandas 面试题挑战八

    求两个Series的相关性 现有两个Series如下: 求两个Series的皮尔逊系数 解决方法就是把Series...

网友评论

    本文标题:pandas 面试题挑战十二

    本文链接:https://www.haomeiwen.com/subject/cemfxctx.html