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

标签 python pandas dataframe

这是代码(在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/

相关文章:

python - 将 pandas 数据框的 3 列绘制为热图

python - 如何将 x 轴从普通数字更改为日期和时间格式?

python - 如何在 Pandas/Dask 中按具有可变 bin 的列离散化大数据帧

python - 如何同时在Python tkinter中读取csv?

python - 使用 Python 将选定的节点名称放入 Nuke 中的列表或元组中

python - 如何有效地从 JSON 列中提取字段?

python - 使用 InterX 函数转换为 python 时出现模块错误

python - 使用python pandas按名称计算多列

python - 声明 basinhopping 优化的约束

Python,pdb,添加只中断一次的断点