您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Pandas:如何将函数应用于不同的列

Pandas:如何将函数应用于不同的列

只需从df中选择列,通过忽略axis参数,我们将按列而不是按行进行操作,这将非常重要,因为此处的行数多于列数:

df[['B','D']].apply(function)

这将对每个列运行您的func

In [186]:
df[['B','D']].apply(function)

Out[186]:
     B    D
0  bar  foo
1  foo  bar
2  bar  foo
3  bar  bar
4  foo  foo
5  bar  bar

您还可以过滤df以仅获取字符串dtype列:

In [189]:
df.select_dtypes(include=['object']).apply(function)

Out[189]:
     B    D
0  bar  foo
1  foo  bar
2  bar  foo
3  bar  bar
4  foo  foo
5  bar  bar

按列与按行:

In [194]:    
%timeit df.select_dtypes(include=['object']).apply(function, axis=1)
%timeit df.select_dtypes(include=['object']).apply(function)

100 loops, best of 3: 3.42 ms per loop
100 loops, best of 3: 2.37 ms per loop

但是,对于较大的dfs(逐行),第一种方法的伸缩性会好得多

其他 2022/1/1 18:37:47 有477人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶