我正在尝试将一个列连接到一个列列表。它连接列中的所有数据。但是,我不想连接不是 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
谢谢
最佳答案
您可以检查要附加的 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
关于python - 如何将一列连接到不是 None 的 pandas 列表的现有列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61511122/