DataFrame中的apply方法,applymap方法有什么區(qū)別
DataFrame中的apply方法
import pandas as pd
# 生成DF數(shù)據(jù)
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')
#調(diào)用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方法默認(rèn)的處理一列。
DataFrame中的applymap方法
import pandas as pd
# DataFrame 數(shù)據(jù)如下
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 數(shù)據(jù)
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