Python BN“]而不是数据[“DBN”]是。apply可以接受lambda表达式:apply可以接受lambda表达式,但您已经将其应用于列而不是整个数据帧。请参阅下面的答案。这种方法有两个问题:1)Series.apply()没有axis参数。2)当我们做数据[

Python BN“]而不是数据[“DBN”]是。apply可以接受lambda表达式:apply可以接受lambda表达式,但您已经将其应用于列而不是整个数据帧。请参阅下面的答案。这种方法有两个问题:1)Series.apply()没有axis参数。2)当我们做数据[,python,pandas,lambda,Python,Pandas,Lambda,BN“]而不是数据[“DBN”]是。apply可以接受lambda表达式:apply可以接受lambda表达式,但您已经将其应用于列而不是整个数据帧。请参阅下面的答案。这种方法有两个问题:1)Series.apply()没有axis参数。2)当我们做数据[“class_size”]时。应用(lambda x:…)我们不能通过x访问其他列。解决方案:data.apply(lambda x:{0:02d}{})。格式(x[“CSD”],x[“SCHOOL code”],axis=1)。但可能有更好的


BN“]而不是
数据[“DBN”]
是。
apply
可以接受lambda表达式:apply可以接受lambda表达式,但您已经将其应用于列而不是整个数据帧。请参阅下面的答案。这种方法有两个问题:1)
Series.apply()
没有
axis
参数。2)当我们做
数据[“class_size”]时。应用(lambda x:…)
我们不能通过
x
访问其他列。解决方案:
data.apply(lambda x:{0:02d}{})。格式(x[“CSD”],x[“SCHOOL code”],axis=1)
。但可能有更好的矢量化solutions@MaxU你说得对。我已经将更改应用到了我的代码中。我假设他正在应用到数据帧。这种方法有两个问题:1)
Series.apply()
没有
axis
参数。2)当我们使用
数据[“class_size”]时。apply(lambda x:…)
我们无法通过
x
访问其他列。解决方案:
data.apply(lambda x:{0:02d}{})。格式(x[“CSD”]、x[“SCHOOL code”]、axis=1)
。但可能有更好的矢量化solutions@MaxU你是对的。我已经将更改应用到我的代码中。我假设他正在应用到数据帧。我没有尝试运行此代码,因为我在阅读另一个项目时发现了它,我只是试图理解其背后的思想过程和方法。这对理解有很大帮助g apply函数的工作原理和lambda。我认为数据帧的方式类似于2D数组,因此[“class_size”]是我的本地数据集之一,我想添加一列[“DBN”].这不是正确的想法吗?数据帧是一个2d数组,看起来很好-我不确定你所说的“我的一个数据集”是什么意思,但如果你要添加一列,你希望它是
dataset[column\u name]=x
,其中
x
Pandas.Series
(这通常是从数据帧上的单列操作中获得的…我没有帮助,是吗?)。我想考虑它的方式可能是,它的工作原理类似于
new\u variable=operation(old\u variable)
左边的任何东西都是要创建/替换的,当前存在的任何东西都应该在
=
的右边。我没有试过运行这段代码,因为我是在阅读另一个项目时发现它的,我只是试着理解它背后的思想过程和方法。这对理解ppy函数工作,lambda。我认为数据帧的方式类似于2D数组,所以[“class_size”]是我的本地数据集之一,我想添加一列[“DBN”].这不是正确的想法吗?数据帧是一个2d数组,看起来很好-我不确定你所说的“我的一个数据集”是什么意思,但如果你要添加一列,你希望它是
dataset[column\u name]=x
,其中
x
Pandas.Series
(这通常是从数据帧上的单列操作中获得的…我没有帮助,是吗?)。我想考虑它的方式可能是,它的工作原理类似于
new\u variable=operation(old\u variable)
左侧的任何内容都是要创建/替换的内容,当前存在的任何内容都应该位于
=
的右侧。
data["class_size"]["DBN"] = data["class_size"].apply(lambda x: "{0:02d}{1}".format(x["CSD"], x["SCHOOL CODE"]), axis=1)
data["DBN"] = data.apply(lambda x: "{0:02d}{1}".format(x["CSD"], x["SCHOOL CODE"]), axis=1)
import pandas as pd

data = {"numbers":range(30)}

def cube(x):
    return x**3

df = pd.DataFrame(data)

df['squares'] = df['numbers'].apply(lambda x: x**2)

df['cubes'] = df['numbers'].apply(cube)

print df
   numbers  squares  cubes
0        0        0      0
1        1        1      1
2        2        4      8
3        3        9     27
4        4       16     64
...
def list_apply(func, mylist):
    newlist = []
    for item in mylist:
        newlist.append(func(item))
a_list = range(10)

print list_apply(cube, a_list)
[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
data["class_size","DBN"] = data["class_size"].apply(lambda x: "{0:02d}{1}".format(x["CSD"], x["SCHOOL CODE"]), axis=1)