pandas 面試題挑戰十二
阿新 • • 發佈:2020-12-04
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(lambdax: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')
輸出