For code/output blocks: Use ``` (aka backtick or grave accent) in a single line before and after the block. See: ValueError: invalid literal for int() with base 10

  • Hi. I'm Japanese boy.
    I will try hard to write in English.

    I am doing the Adding a Data Feed of quickstart using pandas.
    But When, an error of ValueError: invalid literal for int () is issued.

    Do you know what is wrong?


  • Your datetime in the dataframe seems to be an index.

    From the docs (just checked)

     - The new parameters have the names of the regular fields in the DataSeries and follow these conventions
        - datetime (default: None)
           - None : datetime is the “index” in the Pandas Dataframe

    And you are providing a name for datetime. It might be that. Let it be None.

  • Thank you for your reply.

    I solved it by deleting this!

  • The error message invalid literal for int() with base 10 would seem to indicate that you are passing a string that's not an integer to the int() function . In other words it's either empty, or has a character in it other than a digit.

    You can solve this error by using Python isdigit() method to check whether the value is number or not. The returns True if all the characters are digits, otherwise False .

    if val.isdigit():

    The other way to overcome this issue is to wrap your code inside a Python try...except block to handle this error.

    Python2.x and Python3.x

    Sometimes the difference between Python2.x and Python3.x that leads to this ValueError: invalid literal for int() with base 10 .

    With Python2.x , int(str(3/2)) gives you "1". With Python3.x , the same gives you ("1.5"): ValueError: invalid literal for int() with base 10: "1.5".

Log in to reply