Reputation: 1
I'm trying to run this code but it gives me the same error everytime.
def concatenate(indir="E:\\HOME\\NBAStats\\PlayByPlay",outfile="E:\\HOME\\NBAStats\\PlayByPlay\\Concatenated.csv",sep='\t'):
os.chdir(indir)
filelist=glob.glob("*.csv")
dflist=[]
colnames=['game_id', 'data_set', 'date', 'a1', 'a2', 'a3', 'a4', 'a5', 'h1', 'h2', 'h3', 'h4', 'h5', 'period', 'away_score', 'home_score', 'remaining_time', 'elapsed', 'play_length', 'play_id', 'team', 'event_type', 'assist', 'away', 'home', 'block', 'entered', 'left', 'num', 'opponent', 'outof', 'player', 'points', 'possession', 'reason', 'result', 'steal', 'type', 'shot_distance', 'original_x', 'original_y', 'converted_x', 'converted_y', 'description']
for filename in filelist:
print(filename)
df=pandas.read_table(filename, header=None)
dflist.append(df)
concatdf=pandas.concat(dflist,axis=0)
print(type(concatdf))
concatdf.columns=colnames
concatdf.head()
concatdf.to_csv(outfile,index=False)
The error is:
ValueError: Length mismatch: Expected axis has 1 elements, new values have 44 elements
Upvotes: 0
Views: 1064
Reputation: 1
This is the Vale error occuring using read_csv instead of read_table
> File "<ipython-input-8-24ad9c1ee739>", line 1, in <module>
> runfile('C:/Users/Fede/ToConcatenateNBA.py', wdir='C:/Users/Fede')
>
> File
> "C:\Users\Fede\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py",
> line 880, in runfile
> execfile(filename, namespace)
>
> File
> "C:\Users\Fede\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py",
> line 102, in execfile
> exec(compile(f.read(), filename, 'exec'), namespace)
>
> File "C:/Users/Fede/ToConcatenateNBA.py", line 29, in <module>
> concatenate()
>
> File "C:/Users/Fede/ToConcatenateNBA.py", line 25, in concatenate
> concatdf.columns=colnames
>
> File
> "C:\Users\Fede\Anaconda3\lib\site-packages\pandas\core\generic.py",
> line 2983, in __setattr__
> return object.__setattr__(self, name, value)
>
> File "pandas\_libs\src\properties.pyx", line 65, in
> pandas._libs.lib.AxisProperty.__set__ (pandas\_libs\lib.c:45103)
>
> File
> "C:\Users\Fede\Anaconda3\lib\site-packages\pandas\core\generic.py",
> line 471, in _set_axis
> self._data.set_axis(axis, labels)
>
> File
> "C:\Users\Fede\Anaconda3\lib\site-packages\pandas\core\internals.py",
> line 2836, in set_axis
> (old_len, new_len))
>
> ValueError: Length mismatch: Expected axis has 46 elements, new values
> have 44 elements
Upvotes: 0