只有当字符串在另一列中匹配时,我才能从一列添加



只有当一列的数字与另一列的字符串匹配时,才尝试将其相加例如,当col1为A.时,在col2中添加int

import pandas as pd
d = {'col1': ['A', 'B', 'A', 'B'], 'col2': [1, 2, 1, 2]}
df = pd.DataFrame(data=d)
df

使用DataFrame.loc+GroupBy.transform

df.loc[df.col1.eq('A'), 'col2'] = df.groupby('col1')['col2'].transform('sum')
print(df)

new_df = df.assign(col2=df.groupby('col1')['col2'].transform('sum').where(df.col1.ne('A'),
    df.col1))

输出

col1  col2
0    A     2
1    B     2
2    A     2
3    B     2

最新更新