首页 > 解决方案 > 将函数应用于熊猫数据框以创建更大的数据框

问题描述

假设我有以下数据框。

df = pd.DataFrame({'A': range(3), 'B': [1,5,9]})

我想应用一个函数,为df.

具体来说,我想将以下函数应用于数据框:

def some_func(x):
    return sin(x), cos(x)

所以所需的输出是一个 3x4 的数据帧,如下所示(当然还有相应的数值):

sin_A  cos_A  sin_B  cos_B
sin(0) cos(0) sin(1) cos(1)
sin(1) cos(1) sin(5) cos(5)
sin(2) cos(2) sin(9) cos(9)

标签: pythonpandas

解决方案


我们可以做的agg

s = df.agg(['sin','cos'])
s.columns = s.columns.map('_'.join)
s
Out[9]: 
      A_sin     A_cos     B_sin     B_cos
0  0.000000  1.000000  0.841471  0.540302
1  0.841471  0.540302 -0.958924  0.283662
2  0.909297 -0.416147  0.412118 -0.911130

推荐阅读