Я пытаюсь работать со сценарием, который написал коллега.
Эта часть скрипта работает нормально:
xl = pd.ExcelFile(path + WQ_file)
sheet_names = xl.sheet_names
df = pd.read_excel(path + WQ_file, sheetname = 'Chemistry Output Table', skiprows = [0,1,2,4,5,6,7],
index_col = [0,1], na_values = ['', 'na', '-'])
df.index.names = ['Field_ID', 'Date_Time']
header = pd.read_excel(path + WQ_file, sheetname = 'header data',
index_col = [0], na_values = ['', 'na', ' - '])
header_dict = {ah: header['name_short'].loc[ah] for ah in header.index}
analytes_excel = pd.read_excel(path + WQ_file, sheetname = 'analytes', columns = 'name')
analytes_list = [item for sublist in analytes_excel.values.tolist() for item in sublist]
analytes = [header['name_short'].loc[x] for x in analytes_list]
Но это не та часть:
# Clean up the data and report "less than" as half of the LOR
df2 = df.copy()
for col in df2.columns:
x = []
for (a, b) in df2[col].items():
if b == " - ":
b = np.nan
try:
b = float(b)
except:
b = float(b.strip('< '))/2
x.append(b)
df2[col] = x
Я получаю следующую ошибку:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-4-80ad8c096fc0> in <module>()
4 for col in df2.columns:
5 x = []
----> 6 for (a, b) in df2[col].items():
7 if b == " - ":
8 b = np.nan
C:\Users\SardellaC\AppData\Local\Continuum\Anaconda\lib\site-packages\pandas\core\generic.pyc in __getattr__(self, name)
1938
1939 if name in self._internal_names_set:
-> 1940 return object.__getattribute__(self, name)
1941 elif name in self._metadata:
1942 return object.__getattribute__(self, name)
AttributeError: 'Series' object has no attribute 'items'
Это может быть связано с использованием разных версий Python. Я совсем не знаком с Python и был бы признателен, если бы кто-нибудь указал мне правильное направление.