Я использовал Python в течение многих лет и пытаюсь лучше познакомиться с Pandas. Я все время нахожу вещи, которые мне не кажутся Pythoni c. В этом случае я хочу использовать наибольшее значение из моего DataFrame для создания объекта диапазона, но я обнаружил, что я не могу сделать целое число для подачи в функцию range () из числа с плавающей запятой, возвращаемого как максимальное значение моего DataFrame. В качестве минимально воспроизводимого примера вот некоторый код, иллюстрирующий ошибку.
# Create a DataFrame
pairs = pd.DataFrame({'Pair': ['A-B', 'A-C'], 'Distance': [54.3, 9009.122894715296]})
# Select the max
pairs['Distance'].max()
9009.122894715296
# Check the type
type(pairs['Distance'].max())
<class 'float'>
# Make an integer to use in range function
int(pairs['Distance'].max())
TypeError: 'DataFrame' object is not callable
У меня никогда не было проблем с преобразованием числа с плавающей запятой в целое число, поэтому я не понимаю, почему а) он вызывает его как объект DataFrame когда это явно число с плавающей запятой и б) он не может преобразовать это число с плавающей запятой в целое число. Надеюсь, кто-то знает, какие операции приводят к этой ошибке.