Но этого не произойдет, если я использую 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])))
Пример вывода
Код: Выделить всё
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.
Подробнее здесь: https://stackoverflow.com/questions/789 ... eems-wrong