Я пытаюсь вычесть 1 из всех столбцов в строках DataFrame
, имеющих соответствующий индекс в list
.
Например, если у меня есть DataFrame, подобный этому:
df = pd.DataFrame({'AMOS Admin': [1,1,0,0,2,2], 'MX Programs': [0,0,1,1,0,0], 'Material Management': [2,2,2,2,1,1]})
print(df)
AMOS Admin MX Programs Material Management
0 1 0 2
1 1 0 2
2 0 1 2
3 0 1 2
4 2 0 1
5 2 0 1
Я хочу вычесть 1 из всех столбцов, где индекс находится в [2, 3], чтобы конечный результат был:
AMOS Admin MX Programs Material Management
0 1 0 2
1 1 0 2
2 -1 0 1
3 -1 0 1
4 2 0 1
5 2 0 1
Не найдя способа сделать это, я создал серию:
sr = pd.Series([1,1], index=['2', '3'])
print(sr)
2 1
3 1
dtype: int64
Однако, если применить метод sub согласно , этот вопрос приведет к созданию DataFrame со всеми NaN и новыми строками внизу.
AMOS Admin MX Programs Material Management
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
5 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
Любая помощь будет наиболее ценной.
Спасибо,
Juan