Đây là mã của tôi:
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'])
Khi tôi chạy mã này, tôi gặp lỗi sau:
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'
Tại sao tôi nhận được lỗi này?
Lam sao tôi co thể sửa no?
Cách đúng để đảo ngược là pandas.DataFrame
gì?
data[["Odd", "Even"]]
, hay nói chung là data[data.columns[::-1]]
,?
reversed(data)
không hiệu quả, nhưng tôi không biết tại sao bạn lại muốn in toàn bộ Odd
và Even
các cột một lần cho mỗi cột trong khung, đó là những gì mã của bạn sẽ làm nếu bạn sử dụng reversed(list(data))
.
for i, row in data[::-1].iterrows(): print row["Odd"], row["Even"]
. Hãy luôn đưa ra các ví dụ trong câu hỏi của bạn về kết quả đầu ra mà bạn mong đợi; nó làm cho cuộc sống của mọi người dễ dàng hơn nhiều.
"One"
không phải là một cột trongdata
và tôi không biết đóTwo
là một biến hay một lỗi đánh máy cho"Two"
, cũng không phải là một cột. Bạn chỉ muốn đảo ngược thứ tự cột?