Хватит падающей матрицей сбрасывать ряды NaN
Я хотел бы использовать Пэтси dmatrix
функция для генерации проектной матрицы, в которой сохраняются строки со значениями NaN. Например, следующий код вернет матрицу дизайна с четырьмя строками, чего мы обычно хотим. Однако в этом случае я хотел бы dmatrix
вернуть матрицу с пятью строками, где в первой строке будет значение NaN.
import numpy as np
import pandas as pd
from patsy import dmatrix
df = pd.DataFrame({'x1': np.arange(5), 'x2': np.arange(5)})
dmatrix("~x1+x2.diff()", df)
Кроме того, я бы согласился на ответ, который позволяет мне получить номера строк, которые были отброшены / сохранены. В приведенном выше примере строка 1 - это строка, которая была удалена, а строки 2-5 были сохранены.
1 ответ
Пытаться:
dmatrix (..., NA_action = patsy.NAAction (NA_types = []))
Это говорит патси не рассматривать NaN как указание отсутствующего значения, поэтому оно будет пропущено. Документы находятся здесь: https://patsy.readthedocs.io/en/latest/API-reference.html
Кроме того, я бы согласился на ответ, который позволяет мне получить номера строк, которые были отброшены / сохранены.
Если вы используете return_type="dataframe"
затем patsy вернет pandas DataFrame, содержащий вашу матрицу проектирования, а индекс этого DataFrame будет соответствовать строкам в исходном вводе, так что вы сможете увидеть, какие строки были сохранены или удалены.