我有疑问,例如如何将两个不同的列连接在一个列中: A、B、C是现有的df。 D 列是结局 df。
A B C
1 Pattern B3341 Description
7 18774 18.11.2019 63
8 18775 18.11.2019 63
26 Pattern B2633 Description
56 18814 18.11.2019 63
57 18815 18.11.2019 63
如何获取 D 列: 我不知道如何写B3341(首先我必须找到"描述">一词,然后越过左行进入 D 列(
输出:
D
B3341
63
63
B2633
63
63
您可以使用函数np.where
:
df['D'] = np.where(df['C'] == ' Description', df['B'], df['C'])
或方法mask
:
df['D'] = df['C'].mask(df['C'] == 'Description', df['B'])
您可以使用 apply 函数来实现此目的:
def custom_apply(row):
if row['C'] == 'Description':
return row['B']
else:
return row['C']
df['D'] = df.apply(custom_apply, axis=1)
应该工作
甚至作为 lambda 表达式:
df['D'] = df.apply(lambda x : x['B'] if x['C'] == 'Description' else x['C'], axis=1)