我正在尝试在Pandas中编写一个lambda函数,检查Col1是否为NaN,如果是,则使用另一列的数据。我在编译/执行下面的代码时遇到了问题。
有没有人对如何使用lambda函数编写这样的解决方案有好的想法?或者我已经超出了lambda的能力范围?如果没有,你有其他的解决方案吗?
import pandas as pd
import numpy as np
df = pd.DataFrame({'Col1': [1, 2, 3, np.NaN], 'Col2': [7, 8, 9, 10]})
df2 = df.apply(lambda x: x['Col2'] if x['Col1'].isnull() else x['Col1'], axis=1)
有没有人对如何使用lambda函数编写这样的解决方案有好的想法?或者我已经超出了lambda的能力范围?如果没有,你有其他的解决方案吗?
Col2
,那么你就不能从Col2
中获取数据;此外,通常情况下,如果没有其他列,你也无法获取“另一列的数据”。 - Arya McCarthy