Предупреждение Pandas Future об объединении DF с столбцами, содержащими только NaN, кажется неправильнымPython

Программы на Python
Anonymous
Предупреждение Pandas Future об объединении DF с столбцами, содержащими только NaN, кажется неправильным

Сообщение Anonymous »

Я получаю предупреждение о будущем с Pandas 2.2.2, когда пытаюсь объединить DF с плавающими значениями и None.
Но этого не произойдет, если я использую INT вместо FLOAT

Код: Выделить всё

import pandas as pd

# Block with INT
df1 = pd.DataFrame({'A': [1], 'B': [4]})
df2 = pd.DataFrame({'A': [2], 'B': [None]})
print(len(pd.concat([df1, df2])))

# Block with FLOAT
df1 = pd.DataFrame({'A': [1], 'B': [4.0]})
df2 = pd.DataFrame({'A': [2], 'B': [None]})
print(len(pd.concat([df1, df2])))
Блок с INT работает нормально, а Блок с FLOAT выдает предупреждение
Пример вывода

Код: Выделить всё

2
./test.py:18: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
print(len(pd.concat([df1, df2])))
2
  • Почему INT подходят, а Float — нет?
  • Тип данных столбца «Нет» кажется предполагаемым из других DF в конкатенации (см. комментарии).
  • Если весь фрейм данных пуст или отсутствует, его можно проверить и пропустить из конкатенации, поэтому предупреждение имеет смысл. Но когда несколько столбцов имеют действительные данные, неясно, что пользователь должен делать в будущем с столбцами NaN.
PS: Я не знаю. не думаю, что это дубликат: Альтернатива .concat() пустого фрейма данных, теперь, когда он устарел?

Подробнее здесь: https://stackoverflow.com/questions/789 ... eems-wrong

Вернуться в «Python»