美图欣赏2022/07/28

在平时的需求开发中涉及到将多列值合并为一列值的操作,通过查阅相关资料特此记录以下方法,方便日后学习复盘 

import pandas as pd
import numpy as np
 
df = pd.DataFrame(data={'语文':[50,90,70,78,60],
                        '数学':[59,80,60,75,69],
                        '英语':[61,95,65,80,59]},
                  index=['Harry','Andy','Rita','Lee','Jack'])
# 添加'总分'字段
df['总分'] = df['语文'] + df['数学'] + df['英语']
# 调用np.where
# 添加'语文评级','数学评级','英语评级'字段
df['语文评级'] = np.where(df['语文'] > 60,'√','×')
df['数学评级'] = np.where(df['数学'] > 60,'√','×')
df['英语评级'] = np.where(df['英语'] > 60,'√','×')

df

多列合并为一列可以使用map函数转为字符型,再用加号进行连接 

# 将多列合并为一列,生成'评级合并'字段
df['评级合并'] = df['语文评级'].map(str) + df['数学评级'].map(str) + df['英语评级'].map(str)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐