pythonpandasdataframecsvpythonanywhere

create dataframe from csv in PythonAnywhere


I am trying to display the headers of a data frame I created based on a csv file using the PythonAnywhere free version. I keep getting a huge error message and I don't understand what I did wrong.

import pandas as pd

data=pd.read_csv('Advertising.csv')

df=pd.DataFrame(data)

print(df.head()) 

I have tried running my code that I have above or only running print(df.head()) in the terminal on PythonAnywhere.

This is the error message I am getting:

Traceback (most recent call last):
  File "/home/bryantadrien12/CS109X_kNN.py", line 8, in <module>
    print(df.head())
    ~~~~~^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/pandas/core/frame.py", line 1214, in __repr__
    return self.to_string(**repr_params)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pandas/util/_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.13/site-packages/pandas/core/frame.py", line 1394, in to_string
    return fmt.DataFrameRenderer(formatter).to_string(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        buf=buf,
        ^^^^^^^^
        encoding=encoding,
        ^^^^^^^^^^^^^^^^^^
        line_width=line_width,
        ^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
File "/usr/local/lib/python3.13/site-packages/pandas/io/formats/format.py", line 962, in to_string
    string = string_formatter.to_string()
  File "/usr/local/lib/python3.13/site-packages/pandas/io/formats/string.py", line 29, in to_string
    text = self._get_string_representation()
  File "/usr/local/lib/python3.13/site-packages/pandas/io/formats/string.py", line 53, in _get_string_representation
    return self._fit_strcols_to_terminal_width(strcols)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/pandas/io/formats/string.py", line 157, in _fit_strcols_to_terminal_width
    max_len = Series(lines).str.len().max()
  File "/usr/local/lib/python3.13/site-packages/pandas/core/series.py", line 6517, in max
    return NDFrame.max(self, axis, skipna, numeric_only, **kwargs)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/pandas/core/generic.py", line 12404, in max
return self._stat_function(
           ~~~~~~~~~~~~~~~~~~~^
        "max",
        ^^^^^^
    ...<4 lines>...
        **kwargs,
        ^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/pandas/core/generic.py", line 12377, in _stat_function
    return self._reduce(
           ~~~~~~~~~~~~^
        func, name=name, axis=axis, skipna=skipna, numeric_only=numeric_only
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/pandas/core/series.py", line 6457, in _reduce
    return op(delegate, skipna=skipna, **kwds)
  File "/usr/local/lib/python3.13/site-packages/pandas/core/nanops.py", line 147, in f
    result = alt(values, axis=axis, skipna=skipna, **kwds)
  File "/usr/local/lib/python3.13/site-packages/pandas/core/nanops.py", line 404, in new_func
    result = func(values, axis=axis, skipna=skipna, mask=mask, **kwargs)
  File "/usr/local/lib/python3.13/site-packages/pandas/core/nanops.py", line 1098, in reduction
    result = getattr(values, meth)(axis)
  File "/usr/local/lib/python3.13/site-packages/numpy/_core/_methods.py", line 45, in _amax
    return umr_maximum(a, axis, None, out, keepdims, initial, where)
TypeError: int() argument must be a string, a bytes-like object or a real number, not '_NoValueType'

Solution

  • If you use pd.read_csv() you already have yourself a dataframe. Try:

    import pandas as pd
    
    df=pd.read_csv('Advertising.csv')
    
    print(df.head())