Hier ist mein Code:
import pandas as pd
data = pd.DataFrame({'Odd':[1,3,5,6,7,9], 'Even':[0,2,4,6,8,10]})
for i in reversed(data):
print(data['Odd'], data['Even'])
Wenn ich diesen Code ausführe, wird folgende Fehlermeldung angezeigt:
Traceback (most recent call last):
File "C:\Python33\lib\site-packages\pandas\core\generic.py", line 665, in _get_item_cache
return cache[item]
KeyError: 5
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\*****\Documents\******\********\****.py", line 5, in <module>
for i in reversed(data):
File "C:\Python33\lib\site-packages\pandas\core\frame.py", line 2003, in __getitem__
return self._get_item_cache(key)
File "C:\Python33\lib\site-packages\pandas\core\generic.py", line 667, in _get_item_cache
values = self._data.get(item)
File "C:\Python33\lib\site-packages\pandas\core\internals.py", line 1656, in get
_, block = self._find_block(item)
File "C:\Python33\lib\site-packages\pandas\core\internals.py", line 1936, in _find_block
self._check_have(item)
File "C:\Python33\lib\site-packages\pandas\core\internals.py", line 1943, in _check_have
raise KeyError('no item named %s' % com.pprint_thing(item))
KeyError: 'no item named 5'
Warum erhalte ich diesen Fehler?
Wie kann ich das beheben?
Was ist der richtige Weg, um umzukehren pandas.DataFrame
?
data[["Odd", "Even"]]
oder allgemeiner data[data.columns[::-1]]
?
reversed(data)
funktioniert nicht, aber ich weiß nicht, warum Sie das Ganze Odd
und die Even
Spalten einmal für jede Spalte im Frame drucken möchten, was Ihr Code tun würde, wenn Sie ihn verwenden würden reversed(list(data))
.
for i, row in data[::-1].iterrows(): print row["Odd"], row["Even"]
. Bitte geben Sie in Ihrer Frage immer Beispiele für die erwartete Ausgabe an. es macht das Leben für alle viel einfacher.
"One"
ist keine Spalte indata
und ich weiß nicht, obTwo
es sich um eine Variable oder einen Tippfehler handelt"Two"
, der auch keine Spalte ist. Möchten Sie nur die Spaltenreihenfolge umkehren?