gpt4 book ai didi

python - 在 Python 中的 Pandas.DataFrame.transform 中传递多个 lambda 函数

转载 作者:行者123 更新时间:2023-12-04 13:25:34 33 4
gpt4 key购买 nike

这是代码(在python中)

import numpy as np
import pandas as pd
df_5 = pd.DataFrame({'A': range(3), 'B': range(1, 4)})
df_5.transform([lambda x: x**2, lambda x: x**3])
并查看 DataFrame 以供引用
DataFrame
这是输出(它只是做第二件事 lambda x: x**3 )
My output
但我希望它看起来像这样(其中两列都是 lambda x: x**2lambda x: x**3 )
Correct output
那么我应该对最后一行做哪些更改 df_5.transform([lambda x: x**2, lambda x: x**3])

最佳答案

使用 DataFrame.apply :

df = df_5.apply([lambda x: x**2, lambda x: x**3])
print (df)
A B
<lambda> <lambda> <lambda> <lambda>
0 0 0 1 1
1 1 1 4 8
2 4 8 9 27
transform是必要的:
df = pd.concat([df_5.transform([lambda x: x**2]), 
df_5.transform([lambda x: x**3])],axis=1).sort_index(axis=1)

print (df)
A B
<lambda> <lambda> <lambda> <lambda>
0 0 0 1 1
1 1 1 4 8
2 4 8 9 27

关于python - 在 Python 中的 Pandas.DataFrame.transform 中传递多个 lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68862402/

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