将函数应用于熊猫数据框以创建更大的数据框

时间:2020-09-08 23:37:20

标签: python pandas

假设我具有以下数据框。

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)

2 个答案:

答案 0 :(得分:2)

我们可以做for i, x in enumerate(box): print(type(x), x, i)

agg

答案 1 :(得分:1)

import pandas as pd
from math import *
df = pd.DataFrame({'A': range(3), 'B': [1,5,9]})

# def sin_f():
#     return sin(x)
# def cos_f(x):
#     return  cos(x)


df['sin_A']=df['A'].apply(lambda X: sin(X))
df['cos_A']=df['A'].apply(lambda X: cos(X))
df['sin_B']=df['B'].apply(lambda X: sin(X))
df['cos_B']=df['B'].apply(lambda X: cos(X))
del df['A']
del df['B']
print(df)