• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

1.4K
Views
TypeError: cannot convert the series to <class 'float'>

I have a dataframe (df) that looks like:

date                 A
2001-01-02      1.0022
2001-01-03      1.1033
2001-01-04      1.1496
2001-01-05      1.1033

2015-03-30    126.3700
2015-03-31    124.4300
2015-04-01    124.2500
2015-04-02    124.8900

For the entire time-series I'm trying to divide today's value by yesterdays and log the result using the following:

df["B"] = math.log(df["A"] / df["A"].shift(1))

However I get the following error:

TypeError: cannot convert the series to <class 'float'>

How can I fix this? I've tried to cast as float using:

df["B"] .astype(float)

But can't get anything to work.

about 3 years ago · Santiago Trujillo
3 answers
Answer question

0

You can use numpy.log instead. Math.log is expecting a single number, not array.

about 3 years ago · Santiago Trujillo Report

0

You can use lambda operator to apply your functions to the pandas data frame or to the series. More specifically if you want to convert each element on a column to a floating point number, you should do it like this:

df['A'].apply(lambda x: float(x))

here the lambda operator will take the values on that column (as x) and return them back as a float value.

about 3 years ago · Santiago Trujillo Report

0

If you just write df["A"].astype(float) you will not change df. You would need to assign the output of the astype method call to something else, including to the existing series using df['A'] = df['A'].astype(float). Also you might want to either use numpy as @user3582076 suggests, or use .apply on the Series that results from dividing today's value by yesterday's.

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error