首页 >后端开发 >Python教程 >如何从 Pandas 中的单个文本列高效创建多个新列?

如何从 Pandas 中的单个文本列高效创建多个新列?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-29 08:27:03652浏览

How to Efficiently Create Multiple New Columns from a Single Text Column in Pandas?

使用 Pandas 基于单个文本列创建多个新列

问题:

从一个文本中提取多个值Pandas 中的文本列并将它们正确分配给新列是一个挑战。

解决方案:

要有效应用向 Pandas 列返回多个值的函数,请使用zip() 函数。与使用 df.iterrows() 进行迭代相比,此解决方案显着提高了性能。

实现:

<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>

示例输出:

num p1 p2 p3 p4 p5 p6
0 0 0 0 0 0 0
1 1 1 1 1 1 1
2 2 4 8 16 32 64
3 3 9 27 81 243 729
4 4 16 64 256 1024 4096
5 5 25 125 625 3125 15625
6 6 36 216 1296 7776 46656
7 7 49 343 2401 16807 117649
8 8 64 512 4096 32768 262144
9 9 81 729 6561 59049 531441

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn