Ini kode saya:
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'])
Ketika saya menjalankan kode ini, saya mendapatkan kesalahan berikut:
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'
Mengapa saya mendapatkan kesalahan ini?
Bagaimana cara memperbaikinya?
Apa cara yang benar untuk membalikkan pandas.DataFrame?
data[["Odd", "Even"]], atau lebih umum data[data.columns[::-1]],?
reversed(data)tidak berhasil, tetapi saya tidak tahu mengapa Anda ingin mencetak keseluruhan Odddan Evenkolom sekali untuk setiap kolom dalam bingkai, yang akan dilakukan kode Anda jika Anda menggunakannya reversed(list(data)).
for i, row in data[::-1].iterrows(): print row["Odd"], row["Even"]. Harap selalu memberikan contoh dalam pertanyaan Anda tentang keluaran yang Anda harapkan; itu membuat hidup lebih mudah bagi semua orang.
"One"bukan kolomdata, dan saya tidak tahu apakahTwoitu variabel atau kesalahan ketik"Two", yang juga bukan kolom. Apakah Anda hanya ingin membalik urutan kolom?