Python 如何将列连接到列表中的现有列中,而该列不是“无”?
我正在尝试将一列连接到列列表。它连接列中的所有数据。但是,我不想连接非NaN或None的列Python 如何将列连接到列表中的现有列中,而该列不是“无”?,python,python-3.x,pandas,Python,Python 3.x,Pandas,我正在尝试将一列连接到列列表。它连接列中的所有数据。但是,我不想连接非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']
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
谢谢您可以检查
无
以附加:
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
我需要一个理解力
df.assign(Grade=[g if s is None else [*g, s] for g, s in zip(df.Grade, df.Science)])
Name Grade Science
0 Tom [20, 21, 23] 23
1 nick [19, 18] None