我必须对df中的某些列应用许多函数。但是列很多。有没有办法给予这些列组一个特定的名称,然后再对它们应用函数?我在找类似
df[['One', 'Two',...'Sixty']] = values values.apply(lambda x: x.astype(str).str.lower())
zlhcx6iw1#
也许您可以先创建一个列名列表,然后按如下所示使用pd.DataFrame.isin:
pd.DataFrame.isin
values = ['One', 'Two',...'Sixty'] df.loc[:, df.columns.isin(values)].apply(lambda x: x.astype(str).str.lower())
bksxznpy2#
如果 * 性能 * 不是问题,则可以使用pandas.DataFrame.applymap:
pandas.DataFrame.applymap
cols = ['One', 'Two',...'Sixty'] df[cols] = df[cols].astype(str).applymap(lambda x: x.lower())
mrphzbgm3#
您可以对列进行分组,然后使用panda中的apply选项:
cols_to_group = ['col1', 'col2'] df.loc[:, cols_to_group] = df.loc[:, cols_to_group].apply(my_function)
my_function可以包含需要应用于组的功能。
3条答案
按热度按时间zlhcx6iw1#
也许您可以先创建一个列名列表,然后按如下所示使用
pd.DataFrame.isin
:bksxznpy2#
如果 * 性能 * 不是问题,则可以使用
pandas.DataFrame.applymap
:mrphzbgm3#
您可以对列进行分组,然后使用panda中的apply选项:
my_function可以包含需要应用于组的功能。