如何从 Pandas 中的单个函数输出创建多个新列?

Mary-Kate Olsen
发布: 2024-10-28 15:09:02
原创
308 人浏览过

How to Create Multiple New Columns from a Single Function Output in Pandas?

使用 Pandas 函数创建多个新列

在 Pandas 中,可以将单个函数应用于列并基于 Pandas 函数创建多个新列

考虑以下场景:

您有一个函数 extract_text_features,它接受一个文本列并返回 6 个输出列。虽然函数本身可以工作,但将输出分配给特定列会带来挑战。

使用 Zip 的解决方案:

一种有效的方法是使用 zip 函数来分配将值输出到多列:

<code class="python">def powers(x):
    return x, x**2, x**3, x**4, x**5, x**6

df = pd.DataFrame([[i] for i in range(10)], columns=['num'])
df['p1'], df['p2'], df['p3'], df['p4'], df['p5'], df['p6'] = zip(*df['num'].map(powers))</code>
登录后复制

这里,map() 函数将幂应用于“num”列的每一行,并且 zip 将输出解压缩到各个列中。

这方法根据函数的输出值有效地生成多个新列。它也与旧版本的 Pandas 兼容,不像其他一些依赖 df.assign() 等新功能的解决方案。

以上是如何从 Pandas 中的单个函数输出创建多个新列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!