pandas 面试题挑战呆鸟的Python数据分析

pandas 面试题挑战十二

2019-06-02  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读