在处理上述异常期间,发生了另一个异常

时间:2018-12-19 02:43:52

标签: python pandas csv data-science

所以基本上我想做的是从csv文件中读取一列到数组,然后使用该数组进行计算。我已经从csv文件中成功获取了数组'rawSunlightData',但是由于某种原因,每次我尝试从'raySunlightData'数组中选择一个变量时,都会出现错误[在处理上述异常期间,发生了另一个异常]我可以打印整个rawSunlightData,但无法显示rawSunlightData [0]

之类的单个值
    cleanSunlightData = []
    rawSunlightData = pd.read_csv('Average daily sunlight per month.csv', header = None)
    rawSunlightData = rawSunlightData.drop(rawSunlightData.columns[[0]], axis=1)
    print(rawSunlightData[0])
    i = 0
    while i <= len(rawSunlightData):

        arrayDivider = []

        m = 0
        while m < 12:
            x = i + m
            print(x)
            m += 1

        i += 12

错误消息是

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 3078, in get_loc
 return self._engine.get_loc(key)
 File "pandas/_libs/index.pyx", line 140, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 162, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 958, in pandas._libs.hashtable.Int64HashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 964, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
 File "/Users/kennethwong/Desktop/Singapore crop yield /Downloaded data/Data cleaner.py", line 67, in <module>
cleanSunlightData()
File "/Users/kennethwong/Desktop/Singapore crop yield /Downloaded data/Data cleaner.py", line 46, in cleanSunlightData
 print(rawSunlightData[0])
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/frame.py", line 2688, in __getitem__
return self._getitem_column(key)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/frame.py", line 2695, in _getitem_column
return self._get_item_cache(key)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/generic.py", line 2489, in _get_item_cache
values = self._data.get(item)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/internals.py", line 4115, in get
loc = self.items.get_loc(item)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 3080, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/_libs/index.pyx", line 140, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 162, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 958, in pandas._libs.hashtable.Int64HashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 964, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 0

sample data

1 个答案:

答案 0 :(得分:0)

我很好,我发现了原因,我还是编码新手,所以我会犯错误...当您从csv文件中提取数据并将其存储在数据帧中时,它不是数组!您将需要通过array.to_records()

将其转换为数组