df['total'] = [', '.join([j for j in i.astype(str) if j != '']) for i in df.values]
下面是一个完整的示例:
import pandas as pd
data = '''\
Num,Country,City
1,USA,
2,,Philly
'''
df = pd.read_csv(pd.compat.StringIO(data)).fillna('')
cols = ['Num','Country','City']
df['total'] = [', '.join([j for j in i.astype(str) if j != '']) for i in df[cols].values]
你可以过滤掉空值
这里有一个替代解决方案,在方法上与@AntonvBR类似,但在机制上略有不同:
你也可以使用列表理解。它应该快速易读:
下面是一个完整的示例:
相关问题 更多 >
编程相关推荐