首页 > 解决方案 > 为什么我的 .apply() 函数也输出一系列“无”?

问题描述

None这可能不是一个大问题,我只是在执行 .apply() 时没有注意到这个输出

玩具示例:

mydf = pd.DataFrame({'col1':['test1',np.nan,'test3','test4'],
                   'col2':['test5','test6','test7','test8']})

mydf


    col1   col2
0  test1  test5
1    NaN  test6
2  test3  test7
3  test4  test8

仅将值添加到字符串中的函数:

def myfunc(row):


    thing = str(row['col1']) + str(row['col2'])

    print(thing)

应用它:

mydf.apply(myfunc,axis=1)

我的输出:

test1test5
nantest6
test3test7
test4test8

0    None
1    None
2    None
3    None
dtype: object

有什么需要担心的吗?我很快就会将这样的东西应用到一些真实数据上。如果它有所作为,我会在 Jupyter Notebook 中执行此操作。

标签: pythonpandas

解决方案


您应该返回字符串而不是打印它。


推荐阅读