我正在尝试将df中的索引传递给我的函数,以便我的函数可以遍历df的所有行,并提供输出,这是一个名为“TDNumber”的新列中的int。
这是代码
def createTdnumber(onedfindex):
header.index
maski = header.index < onedfindex
finder = header[maski]
tdnumber = max(finder.index)
return tdnumber
df['TDNumber'] = df.index.apply(createTdnumber())
如下所示掩码应该接收一个数字,例如227 那个227将是df.index.apply为函数
提供的数字之一 def createTdnumber(onedfindex):
header.index
maski = header.index < 227
finder = header[maski]
tdnumber = max(finder.index)
return tdnumber
df['TDNumber'] = df.index.apply(createTdnumber())
此代码生成错误'Int64Index'对象没有属性'apply'
对于'Int64Index',如何将这些数字一次传递给我的函数?
header.index
我的输出是
Int64Index([0, 226, 470, 659, 863, 1108], dtype='int64')
当我运行时,从shx2解决方案
df.index.to_series()
输出结果为:
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
227 227
228 228
229 229
230 230
471 471
472 472
473 473
474 474
475 475
476 476
答案 0 :(得分:1)
索引类型没有apply
方法,但Series
有。
要将函数应用于索引,可以先使用to_series
方法将其转换为系列:
df['TDNumber'] = df.index.to_series().apply(createTdnumber)