Python 3.x 如果条件满足,python3会将数据移动到新列中

Python 3.x 如果条件满足,python3会将数据移动到新列中,python-3.x,pandas,Python 3.x,Pandas,如果我有一个数据帧: names,individual ABC LLC, business John Smith, individual 如果'individual'column='business',我如何将名称转移到名为'businessname'的新列中 期望输出: names,individual,businessname null, business, ABC LLC John Smith, individual, null 谢谢 将数据移动到列中可能有几种方法。解决问题的一种特殊

如果我有一个数据帧:

names,individual
ABC LLC, business
John Smith, individual
如果'individual'column='business',我如何将名称转移到名为'businessname'的新列中

期望输出:

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

谢谢

将数据移动到列中可能有几种方法。解决问题的一种特殊方法是使用选定数据创建列

df['businessman']=np.where(df['individual']=='business',df['names'],pd.NaN)
df['names']=np.where(df['individual']=='individual',df['names'],pd.NaN)
下面的代码使用您的数据创建一个数据帧

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

可能有几种方法可以将数据移动到列中。解决问题的一种特殊方法是使用选定数据创建列

下面的代码使用您的数据创建一个数据帧

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

嗨,看起来不错,你可以试着解释一下发生了什么事。你也听说过熊猫吗?where?np.where(条件,结果如果是真的,结果如果是假的)和no我没有听说,但这听起来像是一个更整洁的方法。谢谢@Vaishali2020!嗨,看起来不错,你可以试着解释一下发生了什么事。你也听说过熊猫吗?where?np.where(条件,结果如果是真的,结果如果是假的)和no我没有听说,但这听起来像是一个更整洁的方法。谢谢@Vaishali2020!