为许多列提供更简单的名称,并以Pandas的形式对它们应用函数

cnwbcb6i  于 2023-02-02  发布在  其他
关注(0)|答案(3)|浏览(96)

我必须对df中的某些列应用许多函数。但是列很多。有没有办法给予这些列组一个特定的名称,然后再对它们应用函数?
我在找类似

df[['One', 'Two',...'Sixty']] = values
values.apply(lambda x: x.astype(str).str.lower())
zlhcx6iw

zlhcx6iw1#

也许您可以先创建一个列名列表,然后按如下所示使用pd.DataFrame.isin

values = ['One', 'Two',...'Sixty']

df.loc[:, df.columns.isin(values)].apply(lambda x: x.astype(str).str.lower())
bksxznpy

bksxznpy2#

如果 * 性能 * 不是问题,则可以使用pandas.DataFrame.applymap

cols = ['One', 'Two',...'Sixty']

df[cols] = df[cols].astype(str).applymap(lambda x: x.lower())
mrphzbgm

mrphzbgm3#

您可以对列进行分组,然后使用panda中的apply选项:

cols_to_group = ['col1', 'col2']

df.loc[:, cols_to_group] = df.loc[:, cols_to_group].apply(my_function)

my_function可以包含需要应用于组的功能。

相关问题