У меня есть простой dataframe и я вычислить очень простое вычитание так:панды результат dataframe вычитание имеет ряд и DTYPE информацию
p0_cost = cost_df['price1'][cost_df['date']==p0] - \
cost_df['price2'][cost_df['date']==p0]
Я вычислять различные другие статистические данные в дополнение к p0_cost
. Я сохраняю эти статистические данные в структуре dict()
, которую затем использую для создания фрейма данных.
Теперь, что происходит, это значение p0_cost
выглядит следующим образом:
12 213.151824 dtype: float64
Фактическое значение 213.151824
, но она также сохраняет строку и dtype
информацию.
Как я могу получить ценность, а не весь этот другой хлам?
Если вы хотите просто скаляр, то индексировать массив с помощью '. значения [0] ':' cost_df ['price1'] [cost_df ['date'] == p0] .values [0] ' – EdChum
Спасибо. Это отлично работает. Но странно, что вычитание информационных кадров происходит со всей другой информацией. – codingknob
Ну, это зависит от варианта использования, здесь вы заполняете dict, чтобы вы сохраняли результат, который в этом случае является «Серией», это по дизайну. Pandas ожидает, что вы выполните арифметические операции между совместимыми типами, как только вы сохраните возвращаемые типы в контейнере, а затем попытайтесь сделать df, вы столкнетесь с проблемами, потому что df попытается использовать существующий индекс и имена/столбцы в ваших значениях dict – EdChum