这可能是一个非常基础的问题,但我在其他问题中找不到答案。我有两个列表,用它们创建了一个二维数据帧,假设如下:
X= np.arange(0, 2.01, 0.25)
Y= np.arange(10, 30, 5.0)
df = pd.DataFrame(index = X, columns = Y)
print(df)
这将会得到:
10.0 15.0 20.0 25.0
0.00 NaN NaN NaN NaN
0.25 NaN NaN NaN NaN
0.50 NaN NaN NaN NaN
0.75 NaN NaN NaN NaN
1.00 NaN NaN NaN NaN
1.25 NaN NaN NaN NaN
1.50 NaN NaN NaN NaN
1.75 NaN NaN NaN NaN
2.00 NaN NaN NaN NaN
我想遍历数据框中的所有元素,并将
X
和 Y
的值作为输入参数传递给我编写的某个函数 foo
,比如在第二行第一列(使用零索引)位置上,我有 (X, Y) = (0.5, 15.0)
,因此在这个位置上我想应用 foo(0.5, 15.0)
而不是 foo(2, 1)
。我认为我应该可以使用
df.apply()
或 df.applymap()
,但我搞不清楚怎么做!
foo
函数,它接受 2 个值,可以实现这个目标:df.apply(lambda x: foo(x.name, x.index))
- SyntaxErrorNaN
,我不明白为什么... - undefined