Python Pandas df ist nicht definiert

Ich habe ein problem mit einem Skript, das ich schrieb eine Weile zurück, vor einigen Monaten lief es ohne problem. Aber seitdem die OS aktualisiert wurde.
Das Skript funktioniert gut, bis er versucht, erstellen Sie ein dataframe mit pandas

import os
import pandas as pd
import matplotlib.pyplot as plt

dir_input = '/home/xxx/xxx/xxx/Script/input/'
osdir = []
alldir = []
for all_files in os.listdir(dir_input):
    alldir.append(all_files)
for file in os.listdir(dir_input): #Adds all the specified files to the list osdir
    if file.endswith('.xlsx'):
    osdir.append(file)
    print("Found {0}".format(file))

for filename in osdir:
    (fileroot, extension) = os.path.splitext(filename)
    print 'Processing file...'
    print fileroot
    print ''
    # pandas works with so called dataframes to import the data. Since I dont need all the columns we only use column d,f and j
    df = pd.read_excel(dir_input+filename,parse_cols="D,F,J", index=df.index)
...

Den Fehler bekomme ich mit spyder

Traceback (most recent call last):

  File "<ipython-input-5-2cf9c86bcb8c>", line 1, in <module>
runfile('/home/xxx/python_scripts/xpos-frame-mean_batch_v1.1.py', wdir='/home/cdoering/python_scripts')

  File "/home/xxx/anaconda/lib/python2.7/site-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 682, in runfile
execfile(filename, namespace)

  File "/home/xxx/anaconda/lib/python2.7/site-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 78, in execfile
builtins.execfile(filename, *where)

  File "/home/xxx/python_scripts/script.py", line 54, in <module>
df = pd.read_excel(dir_input+filename,parse_cols="D,F,J", index=df.index)

NameError: name 'df' is not defined

Mein Gefühl ist, es ist etwas falsch mit pandas, vielleicht? Ich deinstalliert es mit conda und es neu installiert. Versucht zu deinstallieren mit pip, aber nie benutzt pip, um es zu installieren, so dass Sie nicht finden konnte es. Ich bin an einem Verlust.

  • Ich sehe nicht, wie das vorher funktioniert, df ist eigentlich nicht definiert, überall, so weit ich das sehen kann, bevor Sie das erste mal verwendet wird.
  • Sie verweisen auf den index vor der Schöpfung in dieser Zeile df = pd.read_excel(dir_input+filename,parse_cols="D,F,J", index=df.index), warum ist das notwendig?
  • Nicht sicher, warum Sie denken, dass dies etwas zu tun mit Pandas. df ist in deinem code, und es ist nicht definiert, bevor die Zeile, die Sie verwenden es auf.
  • Sie sind Recht EdChum, entfernte ich die " index=df.index und es hat funktioniert. Vielen Dank.
InformationsquelleAutor Clemens | 2015-12-02
Schreibe einen Kommentar