1. 程式人生 > 實用技巧 >pandas 面試題挑戰十二

pandas 面試題挑戰十二

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')

輸出

重點說明
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')

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') 

輸出