为了账号安全,请及时绑定邮箱和手机立即绑定

从多个其他列(超过 2 个)填充空白 Pandas 列

从多个其他列(超过 2 个)填充空白 Pandas 列

皈依舞 2021-11-09 13:46:19
我有一个这样的数据框:office       school      hospital            garage  lab  occupationblah                         blahblah             sometext 基本上我只想通过循环遍历每一行并根据完成的列将自由文本打印到该列中来结束占用列。每行仅填充一列(办公室、学校、医院、车库和实验室)。上面的例子最终应该是这样的:office       school      hospital        garage  lab  occupationblah                                                    blah                         blahblah                       blahblah                 sometext                                   sometext我知道 np.where() 方法,但我不认为这可以查看这么多列(这就是我在标题中放置超过 2 列的原因)。
查看完整描述

2 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

您可以根据要优先考虑的列使用 fillna 功能,例如:


你可以优先从你想先填写的列,这里我已经优先 - [办公室学校医院车库实验室]


df['occupation'] = df['office']

df['occupation'].fillna(df['school'], inplace=True)

df['occupation'].fillna(df['hospital'], inplace=True)

df['occupation'].fillna(df['garage'], inplace=True)

df['occupation'].fillna(df['lab'], inplace=True)

假设您使用的是熊猫数据框。


查看完整回答
反对 回复 2021-11-09
?
杨魅力

TA贡献1811条经验 获得超6个赞

如果一行中只有一个条目:

df[df.columns[:-1]].astype(str).sum(axis=1)

这将获取除最后一列之外的所有列,然后将其转换为字符串类型,然后将每列的所有字符串连接在一起。


查看完整回答
反对 回复 2021-11-09
  • 2 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号