假设我具有以下数据框。
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)
答案 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)