开发者社区 问答 正文

如果满足条件,python3 pandas会将数据移到新列中

如果我有一个数据框:

names,individual
ABC LLC, business
John Smith, individual

如果'individual'列='business',如何将名称移到名为'businessname'的新列中?

所需的输出:

names,individual,businessname
null, business, ABC LLC
John Smith, individual, null

谢谢!

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 21:52:32 396 分享 版权
1 条回答
写回答
取消 提交回答
  • 可能有几种将数据移入列的方法。一种特定于您的问题的方法是使用选定的数据创建一列。

    以下代码使用您的数据创建一个数据框

    import pandas as pd
    
    # Contruct dataframe
    # names,individual
    # ABC LLC, business
    # John Smith, individual
    
    df = pd.DataFrame(columns=['names', 'individual'], data=[('ABC LLC', 'business'), ('John Smith', 'individual')])
    

    创建遮罩以仅选择业务

    mask = df['individual'] == 'business'
    

    添加新列

    df['business name'] = None
    

    从商家那里获取名称并设置商家名称

    df.loc[mask, 'business name'] = df.loc[mask, 'names']
    

    将业务的“名称”列的列行设置为“无”

    df.loc[mask, 'names'] = None
    

    回答来源:stackoverflow

    2020-03-24 21:52:40
    赞同 展开评论