นี่คือรหัสของฉัน:
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'])
เมื่อฉันเรียกใช้รหัสนี้ฉันได้รับข้อผิดพลาดต่อไปนี้:
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'
เหตุใดฉันจึงได้รับข้อผิดพลาดนี้
ฉันจะแก้ไขได้อย่างไร?
วิธีที่ถูกต้องในการย้อนกลับpandas.DataFrame
คืออะไร?
data[["Odd", "Even"]]
หรือโดยทั่วไปแล้วdata[data.columns[::-1]]
?
reversed(data)
ไม่ได้ทำงาน แต่ผมไม่ทราบว่าทำไมคุณต้องการที่จะพิมพ์ทั้งOdd
และคอลัมน์ครั้งเดียวสำหรับแต่ละคอลัมน์ในกรอบซึ่งเป็นสิ่งที่รหัสของคุณจะทำอย่างไรถ้าคุณใช้Even
reversed(list(data))
"One"
ไม่ใช่คอลัมน์ในdata
และฉันไม่รู้ว่าTwo
เป็นตัวแปรหรือพิมพ์ผิด"Two"
ซึ่งไม่ใช่คอลัมน์ด้วย คุณแค่ต้องการย้อนกลับลำดับคอลัมน์หรือไม่?