根据列表中的值将条件应用于索引

时间:2019-08-27 13:06:32

标签: pandas

我有一个df:

              A   B   C

    'F'      2    4   ss1
    'G'      3    4   ss1

然后我有一个列表1:

['ss1','ss4']

我希望如果df的C列中存在list1的任何元素,则在索引名称的开头加上一个空格以获取此输出:

              A   B   C

    ' F'      2    4   ss1
    ' G'      3    4   ss1

1 个答案:

答案 0 :(得分:2)

使用numpy.whereIndex.where并用Index.isin进行调节:

df.index = np.where(df['C'].isin(list1), ' ' + df.index, df.index)

或者:

df.index = df.index.where(~df['C'].isin(list1), ' ' + df.index)