Pandas Dataframe行选择结合了条件索引值和列值

时间:2018-09-04 14:55:14

标签: python pandas

我想根据索引中的值与特定列中的值相结合从数据框中选择行:

df = pd.DataFrame([[0, 2, 3], [0, 4, 1], [0, 20, 30], [40, 20, 30]], 
                  index=[4, 5, 6, 7], columns=['A', 'B', 'C'])


    A   B   C
4   0   2   3
5   0   4   1
6   0  20  30
7  40  20  30

使用

df.loc[df['A'] == 0, 'C'] = 99

我可以选择列A = 0的所有行,并用99替换列C中的值,但是我如何选择列A = 0且索引<6的所有行(我想将索引的选择与列上的选择)?

1 个答案:

答案 0 :(得分:5)

您可以在loc语句中使用多个条件:

df.loc[(df.index < 6) & (df.A == 0), 'C'] = 99