объединить pandas DataFrames, как я могу вызвать точное соединение без потери данных и без заполнения данных? - PullRequest
0 голосов
/ 23 апреля 2020

Как я могу объединить или объединить несколько (> 2) DataFrame объектов, заставляя точно соответствовать измерениям массива, то есть нет потери данных, нет заполнения данных, и внутреннее соединение и внешнее соединение дадут одинаковые результаты, таким образом подражая как numpy.concatenate работает? Я читал о pandas слиянии и pandas объединении , но не смог найти этот вариант использования адресованным. Из моего кода я знаю, что все мои входные данные DataFrame должны иметь одинаковое количество строк и уникальных столбцов, и я бы хотел исключение, если это не так. Конечно, я мог бы вручную проверить это и выдвинуть свое собственное исключение, но может показаться, что это должно быть довольно распространенным требованием (я ожидаю, что этот вопрос будет дубликатом, но я не смог найти сообщение с ответом). Может ли pandas сделать это для меня?

df1 = pd.DataFrame(np.empty(shape=(5, 2)), columns=["A", "B"])
df2 = pd.DataFrame(np.empty(shape=(3, 2)), columns=["C", "D"])
df = pd.concat([df1, df2], axis=1, join="outer")  # fills with NaN
df = pd.concat([df1, df2], axis=1, join="inner")  # data loss
np.concatenate([df1.values, df2.values], axis=1)  # ValueError, desired behaviour (but no longer a DataFrame)

Я желаю ValueError или другого исключения для этой ситуации. Может ли pandas бросить это для меня или мне решать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...