Цель и мотивация
Я видел такой вопрос несколько раз и видел много других вопросов, которые включают в себя некоторый элемент этого. Совсем недавно мне пришлось потратить немного времени на объяснение этой концепции в комментариях в поисках подходящих канонических вопросов и ответов. Я не нашел один, и поэтому я думал, что напишу один.
Этот вопрос обычно возникает в отношении конкретной операции, но в равной степени относится к большинству арифметических операций.
- Как вычесть
Seriesиз каждого столбца вDataFrame? - Как добавить
Seriesиз каждого столбца вDataFrame? - Как мне умножить
Seriesиз каждого столбца вDataFrame? - Как разделить
Seriesиз каждого столбца вDataFrame?
Вопрос
Дан Series s и DataFrame df. Как мне работать с каждым столбцом df с помощью s?
df = pd.DataFrame(
[[1, 2, 3], [4, 5, 6]],
index=[0, 1],
columns=['a', 'b', 'c']
)
s = pd.Series([3, 14], index=[0, 1])
Когда я пытаюсь добавить их, я получаю все np.nan
df + s
a b c 0 1
0 NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN
То, что я думал, я должен получить,
a b c
0 4 5 6
1 18 19 20