如何将函数仅应用于

2024-04-26 09:26:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个日期集:

a    b     c
1    x1    c1
2    x2    c2    
3    x3    c3

我只想对b列应用一个函数f

我做了这样的事情:

d2 = d['b'].apply(f)

但我有这样的结果

a    b 
1    xt
2    xt    
3    xt

我想要c列,结果如下:

a    b     c
1    xt    c1
2    xt    c2    
3    xt    c3

如果不与第一个数据集合并,我怎么做?你知道吗


Tags: 数据函数事情d2xtapplyx1x2
1条回答
网友
1楼 · 发布于 2024-04-26 09:26:02

我认为您应该尽量不要使用apply,因为它比较慢,最好使用pandasAPI函数:

例如,如果需要将列替换为新的常量值:

df['b'] = 'xt'
print (df)
   a   b   c
0  1  xt  c1
1  2  xt  c2
2  3  xt  c3

但如果apply是必要的:

def f(x):
    return 'xt'

df['b'] = df.b.apply(f)
print (df)
   a   b   c
0  1  xt  c1
1  2  xt  c2
2  3  xt  c3

如果需要新的DataFrame,请首先使用^{}

d = df.copy()

def f(x):
    return 'xt'

d['b'] = d.b.apply(f)
print (d)
   a   b   c
0  1  xt  c1
1  2  xt  c2
2  3  xt  c3

相关问题 更多 >