这是代码(在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 以供引用这是输出(它只是做第二件事
lambda x: x**3
)但我希望它看起来像这样(其中两列都是
lambda x: x**2
和 lambda x: x**3
)那么我应该对最后一行做哪些更改
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/