gpt4 book ai didi

python - 如何在 Pandas 数据框中获取列的实部和虚部?

转载 作者:行者123 更新时间:2023-12-03 14:21:08 26 4
gpt4 key购买 nike

import pandas as pd

我有一个数据框:
df=pd.DataFrame({'cmplxnumbers':[1+1j,2-2j,3*(1+1j)]})
我需要获取列中数字的虚部。
我这样做:
df.cmplxnumbers.apply(lambda number: number.imag)
结果我得到:
0    1.0
1 -2.0
2 3.0
Name: cmplxnumbers, dtype: float64
正如预期的那样。
有没有更快、更直接的方法,也许不涉及 lambda功能?

最佳答案

Pandas DataFrame/Series 建立在 numpy 数组之上,因此它们可以传递给大多数 numpy 函数。
在这种情况下,您可以尝试以下方法,它应该比非矢量化 .apply 更快:

df['imag'] = np.imag(df.cmplxnumbers)
df['real'] = np.real(df.cmplxnumbers)
输出:
         cmplxnumbers  imag  real
0 1.000000+1.000000j 1.0 1.0
1 2.000000-2.000000j -2.0 2.0
2 3.000000+3.000000j 3.0 3.0
或者你可以做 agg :
df[['real','imag']] = df.cmplxnumbers.agg([np.real, np.imag])

关于python - 如何在 Pandas 数据框中获取列的实部和虚部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65813757/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com