首页 > 解决方案 > 如何将一列连接到熊猫中不是无的现有列表列?

问题描述

我正在尝试将列连接到列列表。它连接列中的所有数据。但是,我不想连接不是 NaN 或 None 的列。

data = {'Name':['Tom', 'nick'], 'Grade':[[20, 21],[ 19, 18]],'Science':['23',None]} 
df=pd.DataFrame(data)
df['Grade']=df['Grade'].append(df['Science'],ignore_index=True)
df.apply(lambda row: row['Grade'].append(row['Science']), axis=1)

我得到的结果是:

    Name    Grade   Science
0   Tom     [20, 21, 23]    23
1   nick    [19, 18, None]  None

我想要的是 :

    Name    Grade   Science
0   Tom     [20, 21, 23]    23
1   nick    [19, 18]    None

谢谢

标签: pythonpython-3.xpandas

解决方案


您可以检查None附加:

df['Grade'] = df.apply(lambda row: row['Grade'] + [row['Science'] ] 
                                      if row['Science'] is not None else row['Grade'], 
                       axis=1)

输出:

0    [20, 21, 23]
1        [19, 18]
dtype: object

推荐阅读