我试图将相同的功能应用于多个熊猫数据框,但结果是一个对象,而我需要数据框作为结果。我也尝试过使用“广播”,但这并没有太大帮助
以下是基本上为索引列分配名称的功能:
def assign_name(name_df):
name_df.index.name="Fields"
&我将其应用于唯一性和偏度数据帧,该数据帧基本上由每个字段和偏度的唯一值的数量组成:
uniques,skewness = (df.apply(assign_name)for df in [uniques,skewness])
唯一性和偏度的数据类型是object:
dtype: object
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
def assign_name(x):
x.index.name="Fields"
return x
ll = [type(x) for x in [assign_name(df) for df in [df1, df2]]
print(ll)
答案 1 :(得分:0)
使用pipe
并确保您的函数使用return
:
def assign_name(name_df):
name_df.index.name="Fields"
return df
uniques, skewness = (df.pipe(assign_name)for df in [uniques,skewness])
答案 2 :(得分:0)
该函数保持不变,只是添加了一个返回:
def Assign_name(name_df):
name_df.index.name =“字段”
返回(name_df)
将所有数据框存储为列表并在列表上应用功能:
list_df = [唯一性,偏度,df1_transposed,coltypes]
list_df = [list_df中df的df.pipe(assign_name)]
就像访问列表元素一样访问每个数据框:
list_df [3]