I am trying to round numbers, if their decimal numbers end with (125, 375, 625, 875), I replace them with (25, 25, 75, 75). My code is:
import pandas as pd
inpExcelFile = 'Lat Lon Coordinates and soil.csv' #lat, lon
gridCells = pd.read_csv(inpExcelFile)
#inpExcelFile can be downloaded from "http://www.evernote.com/l/AWMD9Le15ytJmokhnUF8r84vtXVIsj2_lBQ/"
df = pd.DataFrame(columns=['lat_ext', 'lon_ext', 'lat_close', 'lon_close'])
for i in range(0, len(gridCells.index)):
if str(df.at[i, 'lat_ext'])== str('125'):
df.at[i, 'lat_close'] = float((str(gridCells.at[i, 'lat'])[:3]) + str('25'))
if str(df.at[i, 'lat_ext'])== str('375'):
df.at[i, 'lat_close'] = float((str(gridCells.at[i, 'lat'])[:3]) + str('25'))
if str(df.at[i, 'lat_ext'])== str('625'):
df.at[i, 'lat_close'] = float((str(gridCells.at[i, 'lat'])[:3]) + str('75'))
if str(df.at[i, 'lat_ext'])== str('875'):
df.at[i, 'lat_close'] = float((str(gridCells.at[i, 'lat'])[:3]) + str('75'))
for j in range(0, len(gridCells.index)):
if str(df.at[j, 'lon_ext'])== str('125'):
df.at[j, 'lon_close'] = float((str(gridCells.at[j, 'lat'])[:3]) + str('25'))
if str(df.at[j, 'lon_ext'])== str('375'):
df.at[j, 'lon_close'] = float((str(gridCells.at[j, 'lat'])[:3]) + str('25'))
if str(df.at[j, 'lon_ext'])== str('625'):
df.at[j, 'lon_close'] = float((str(gridCells.at[j, 'lat'])[:3]) + str('75'))
if str(df.at[j, 'lon_ext'])== str('875'):
df.at[j, 'lon_close'] = float((str(gridCells.at[j, 'lat'])[:3]) + str('75'))
df.to_excel('cikti' + '.xlsx')I am getting this error: Error: File "<ipython-input-1-eff718b7025b>", line 1, in <module>
runfile('C:/Users/fyunu/OneDrive/Masaüstü/code rubbish/untitled3.py', wdir='C:/Users/fyunu/OneDrive/Masaüstü/code rubbish')
File "C:\Users\fyunu\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
execfile(filename, namespace)
File "C:\Users\fyunu\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/fyunu/OneDrive/Masaüstü/code rubbish/untitled3.py", line 20, in <module>
if str(df.at[i, 'lat_ext'])== str('125'):
File "C:\Users\fyunu\Anaconda3\lib\site-packages\pandas\core\indexing.py", line 2141, in __getitem__
key = self._convert_key(key)
File "C:\Users\fyunu\Anaconda3\lib\site-packages\pandas\core\indexing.py", line 2227, in _convert_key
raise ValueError("At based indexing on an non-integer "
ValueError: At based indexing on an non-integer index can only have non-integer indexersHow can I solve that problem?
