繁体   English   中英

根据重复项更改熊猫数据框列的值

[英]Changing the value of a pandas dataframe column based on duplicates

假设我以以下方式设置了熊猫数据框:

col1|  col2 | col3

1       A      10

1       A      10

3       B      12

在第一个再次出现的col2实例之后,是否可以将col3的值设置为0? 我希望输出以下结果:

col1|  col2 | col3

1       A      10

1       A      0

3       B      12

对于这个令人困惑的问题,我深表歉意,这是我形容它的最佳方式!

您可以使用DataFrame.duplicated

df.loc[df.duplicated(subset='col2'), 'col3'] = 0

    col1 col2  col3
0     1    A    10
1     1    A     0
2     3    B    12

您可以使用np.where

import pandas as pd
import numpy as np

df = pd.DataFrame({'col1': [1, 1, 3],
                   'col2': ['A', 'A', 'B'],
                   'col3': [10, 10, 12]})

df['col3'] = np.where(df['col2'].duplicated(), 0, df['col3'])

df

   col1 col2  col3
0     1    A    10
1     1    A     0
2     3    B    12

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM