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)