A script to read and combine a series of raw time series data files

from a Hypnos III Redox data logger into a single Pandas dataframe, csv text file and pytables HDF5 binary file.


In [1]:
# Import all required Python libraries and modules
import pandas as pd

In [2]:
# Create a list of auto-incrementing file paths

basepath = "/Users/anthony/AnthonyWork/Data_Raw/FieldInstruments/LoggerData/Hypnos_Redox/H076_TransectA-East"
filename_template = "%s/H076_%03i.TXT"   # to create a series of incrementing file names via the % string formatting operator    
filenumbers = range(6,171,1)  # the range of file increment numbers, from the first to one past the last, incrementing by 1

filepaths = []
for filenumber in filenumbers:
    filepath = filename_template % (basepath, filenumber)
    filepaths.append(filepath)

For more information on string formatting operators, see http://www.tutorialspoint.com/python/python_strings.htm.

For example, if we ran this code:

print(filename_template % (basepath, 6.1))
  • the %s in "%s/H076_%03i.TXT" would be replaced by the value of basepath converted to a string
  • and %03i in "%s/H076_%03i.TXT" would replaced by the value of 6.1 converted to an integer.
  • and the output would look like:

    /Users/anthony/AnthonyWork/Data_Raw/FieldInstruments/LoggerData/Hypnos_Redox/H076_TransectA-East/H076_006.TXT


In [3]:
# A For loop that reads each file using the Pandas "read_csv" function, 
#   then appends the resulting DataFrame object to a list called "dataframes".

dataframes = []
for filepath in filepaths:
    df = pd.read_csv(filepath, delimiter=";", header=10, index_col=0, na_values=[-999], parse_dates=True, skipinitialspace=True)
    df = df.drop(df.index[-1])  # drops all rows where the DateTimeIndex is NaT
    dataframes.append(df)

In [3]:


In [4]:
# Concatenate all the DataFrames in the "dataframes" list into a single DataFrame
df = pd.concat(dataframes)
df


Out[4]:
R_00 R_01 R_02 R_03 R_04 R_05 R_06 R_07 R_08 R_09 ... R_26 R_27 R_28 R_29 R_30 R_31 R_32 R_33 R_34 R_35
Timestamp
2012-10-03 16:05:00 -23 40 22 102 26 18 32 6 -14 22 ... -3 34 25 -23 1 18 1 NaN 0 33
2012-10-03 16:10:00 -24 44 20 102 26 16 34 6 -15 24 ... -10 34 26 -24 2 18 -6 NaN -7 32
2012-10-03 16:15:00 -24 45 20 101 26 16 34 6 -15 23 ... -14 32 26 -24 2 18 -10 NaN -12 27
2012-10-03 16:20:00 -24 45 21 100 24 17 34 7 -15 22 ... -18 28 25 -23 1 18 -15 NaN -17 23
2012-10-03 16:25:00 -23 45 23 98 21 18 32 9 -15 21 ... -22 25 25 -22 0 18 -18 NaN -20 18
2012-10-03 16:30:00 -23 44 24 96 19 20 30 11 -14 20 ... -26 21 23 -20 -1 20 -21 NaN -23 14
2012-10-03 16:35:00 -22 43 26 94 18 21 28 13 -13 18 ... -28 18 22 -18 -3 22 -24 NaN -26 9
2012-10-03 16:40:00 -21 42 27 92 15 23 26 15 -12 16 ... -31 13 20 -15 -5 24 -26 NaN -29 4
2012-10-03 16:45:00 -21 41 29 90 12 24 24 17 -11 15 ... -34 9 20 -12 -7 26 -28 NaN -31 0
2012-10-03 16:50:00 -20 40 30 88 10 25 23 18 -10 13 ... -37 5 19 -11 -9 27 -31 NaN -34 -5
2012-10-03 16:55:00 -19 40 31 87 9 26 23 20 -9 12 ... -40 1 18 -9 -10 28 -32 NaN -38 -9
2012-10-03 17:00:00 -19 40 32 85 8 27 22 20 -9 10 ... -43 -1 18 -8 -11 29 -35 NaN -42 -13
2012-10-03 17:05:00 -18 39 33 84 6 27 22 21 -8 10 ... -47 -5 17 -7 -12 29 -38 NaN -46 -18
2012-10-03 17:10:00 -18 39 34 83 6 27 22 22 -8 9 ... -51 -8 17 -6 -13 30 -40 NaN -51 -21
2012-10-03 17:15:00 -18 39 34 82 5 27 22 23 -7 8 ... -54 -11 15 -6 -14 31 -43 NaN -56 -25
2012-10-03 17:20:00 -18 39 35 80 4 28 22 23 -7 7 ... -57 -15 15 -5 -14 31 -46 NaN -60 -28
2012-10-03 17:25:00 -18 38 35 79 3 28 22 24 -7 6 ... -61 -18 15 -4 -15 32 -48 NaN -65 -32
2012-10-03 17:30:00 -18 38 35 79 2 29 22 25 -7 6 ... -65 -21 15 -3 -15 32 -51 NaN -70 -35
2012-10-03 17:35:00 -18 39 35 78 1 29 22 26 -7 6 ... -68 -23 15 -3 -16 33 -54 NaN -74 -38
2012-10-03 17:40:00 -18 39 37 77 1 29 22 26 -6 4 ... -71 -26 14 -3 -17 34 -57 NaN -79 -42
2012-10-03 17:45:00 -17 39 37 77 0 29 22 26 -6 4 ... -75 -29 14 -3 -17 34 -59 NaN -83 -45
2012-10-03 17:50:00 -17 39 37 76 0 29 23 27 -6 3 ... -79 -32 14 -2 -18 34 -62 NaN -88 -48
2012-10-03 17:55:00 -17 39 37 76 0 29 23 27 -6 3 ... -82 -35 14 -1 -18 35 -64 NaN -92 -50
2012-10-03 18:00:00 -17 39 37 74 -1 29 23 28 -6 3 ... -85 -37 13 -1 -18 35 -67 NaN -96 -53
2012-10-03 18:05:00 -17 39 37 74 -1 29 23 28 -6 2 ... -88 -39 13 -1 -18 35 -69 NaN -100 -56
2012-10-03 18:10:00 -17 40 37 73 -1 29 23 29 -6 2 ... -92 -42 13 0 -19 35 -71 NaN -104 -58
2012-10-03 18:15:00 -17 40 37 73 -2 29 23 29 -6 1 ... -95 -45 13 0 -19 35 -74 NaN -109 -60
2012-10-03 18:20:00 -17 40 38 73 -3 29 24 29 -6 1 ... -99 -47 13 0 -19 36 -76 NaN -113 -63
2012-10-03 18:25:00 -17 40 38 72 -3 29 24 30 -6 1 ... -101 -49 13 0 -20 36 -79 NaN -116 -65
2012-10-03 18:30:00 -17 40 38 71 -3 29 24 30 -6 1 ... -105 -52 13 0 -20 37 -81 NaN -121 -68
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2013-10-18 09:50:00 490 464 -364 -359 -432 -442 -328 254 556 -374 ... 513 445 476 251 -307 -332 -383 -272 542 583
2013-10-18 09:55:00 489 464 -364 -359 -432 -443 -327 253 556 -375 ... 512 445 476 252 -308 -331 -383 -272 542 583
2013-10-18 10:00:00 489 464 -364 -359 -432 -443 -327 253 556 -375 ... 512 445 476 252 -308 -331 -383 -272 542 583
2013-10-18 10:05:00 489 464 -364 -359 -432 -443 -327 253 556 -375 ... 512 445 476 252 -308 -331 -383 -272 541 583
2013-10-18 10:10:00 489 464 -364 -359 -432 -443 -327 253 556 -375 ... 512 445 476 251 -307 -332 -383 -272 542 583
2013-10-18 10:15:00 489 463 -364 -359 -432 -442 -328 253 555 -374 ... 512 445 476 250 -306 -332 -383 -272 541 583
2013-10-18 10:20:00 489 464 -364 -359 -432 -442 -328 254 555 -374 ... 512 445 476 250 -306 -332 -383 -272 541 583
2013-10-18 10:25:00 488 464 -364 -359 -433 -442 -328 253 555 -374 ... 512 444 476 250 -306 -332 -383 -272 541 583
2013-10-18 10:30:00 488 463 -364 -359 -432 -443 -327 253 555 -374 ... 512 445 474 251 -307 -331 -383 -272 541 582
2013-10-18 10:35:00 488 463 -364 -359 -432 -442 -327 253 555 -374 ... 512 445 474 251 -307 -331 -383 -272 541 582
2013-10-18 10:40:00 488 463 -364 -358 -432 -442 -327 253 555 -374 ... 512 444 475 250 -306 -331 -383 -271 541 583
2013-10-18 10:45:00 488 463 -364 -359 -432 -442 -327 253 555 -374 ... 512 445 474 250 -306 -331 -383 -272 541 582
2013-10-18 10:50:00 488 463 -364 -358 -432 -442 -328 253 555 -373 ... 512 444 474 250 -306 -331 -384 -271 540 582
2013-10-18 10:55:00 488 463 -364 -358 -432 -442 -327 253 555 -373 ... 512 444 474 250 -306 -331 -384 -271 540 582
2013-10-18 11:00:00 487 463 -364 -358 -431 -442 -327 253 554 -373 ... 511 444 474 249 -306 -331 -384 -271 539 582
2013-10-18 11:05:00 487 462 -364 -359 -431 -443 -328 252 553 -373 ... 510 444 473 249 -305 -331 -384 -272 538 580
2013-10-18 11:10:00 486 461 -364 -359 -432 -443 -328 250 552 -373 ... 510 443 472 248 -305 -331 -386 -272 537 580
2013-10-18 11:15:00 485 460 -364 -359 -433 -442 -328 250 551 -373 ... 508 442 472 246 -305 -333 -386 -273 534 579
2013-10-18 11:20:00 484 459 -364 -359 -432 -443 -328 249 549 -373 ... 507 442 470 246 -305 -333 -386 -274 532 578
2013-10-18 11:25:00 483 458 -364 -359 -432 -442 -329 247 547 -372 ... 506 440 469 244 -303 -333 -386 -274 529 577
2013-10-18 11:30:00 481 457 -364 -359 -432 -442 -330 246 545 -372 ... 505 439 467 243 -303 -334 -386 -274 526 576
2013-10-18 11:35:00 480 454 -364 -360 -432 -442 -330 245 543 -372 ... 503 439 465 242 -302 -334 -386 -275 523 573
2013-10-18 11:40:00 478 453 -364 -359 -432 -441 -330 244 541 -372 ... 501 437 464 240 -301 -334 -386 -275 519 572
2013-10-18 11:45:00 477 451 -364 -360 -432 -440 -331 244 538 -372 ... 499 436 461 239 -300 -334 -386 -275 517 569
2013-10-18 11:50:00 476 450 -363 -361 -431 -440 -330 242 537 -372 ... 498 435 459 239 -300 -333 -386 -275 513 568
2013-10-18 11:55:00 474 448 -363 -361 -431 -440 -330 242 534 -371 ... 498 434 457 238 -299 -333 -386 -275 510 566
2013-10-18 12:00:00 473 448 -364 -360 -431 -439 -331 242 532 -370 ... 496 433 456 236 -298 -334 -384 -275 509 565
2013-10-18 12:05:00 473 446 -364 -360 -431 -439 -331 241 530 -371 ... 494 432 454 235 -298 -334 -384 -275 507 563
2013-10-18 12:10:00 471 445 -364 -360 -431 -439 -331 241 529 -371 ... 493 431 453 235 -298 -334 -385 -275 504 562
2013-10-18 12:15:00 470 444 -364 -361 -431 -439 -331 240 527 -371 ... 492 430 451 235 -298 -334 -386 -275 503 560

109395 rows × 36 columns


In [5]:
df.index


Out[5]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2012-10-03 16:05:00, ..., 2013-10-18 12:15:00]
Length: 109395, Freq: None, Timezone: None

In [6]:
df.index = df.index.tz_localize('EST')

In [7]:
df.index


Out[7]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2012-10-03 16:05:00-05:00, ..., 2013-10-18 12:15:00-05:00]
Length: 109395, Freq: None, Timezone: EST

In [8]:
df.index.name.strip()


Out[8]:
'Timestamp'

In [12]:
df.index[0:2]


Out[12]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2012-06-14 20:02:00-05:00, 2012-06-14 20:03:00-05:00]
Length: 2, Freq: None, Timezone: EST

In [14]:
# Write combined data to a single CSV text file
filepath_CSVoutput = basepath + "/H076_all.csv"
df.to_csv(filepath_CSVoutput, na_rep="NaN", date_format='%Y-%m-%d %H:%M')

In [15]:
# Write combined data to a single pyTables HDF5 table file
filepath_HDFoutput = basepath + "/H076_all.h5"
df.to_hdf(filepath_HDFoutput, "H076", format="table", complib="blosc")  # see http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.to_hdf.html

In [16]:
pd.read_hdf(filepath_HDFoutput, "H076")  # see http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_hdf.html


Out[16]:
R_00 R_01 R_02 R_03 R_04 R_05 R_06 R_07 R_08 R_09 ... R_38 R_39 R_40 R_41 R_42 R_43 R_44 R_45 R_46 R_47
Timestamp
2012-06-14 20:02:00-05:00 -49 32 -29 19 20 -50 2 -1 -24 52 ... 12 -40 -215 NaN -229 -84 -200 NaN -158 -109
2012-06-14 20:03:00-05:00 -49 32 -30 19 20 -50 2 -1 -24 52 ... 11 -40 -215 NaN -229 -84 -201 NaN -158 -109
2012-06-14 20:04:00-05:00 -50 32 -30 19 20 -50 2 -1 -24 52 ... 11 -40 -215 NaN -229 -84 -201 NaN -158 -109
2012-06-14 20:05:00-05:00 -50 32 -30 19 20 -50 2 -1 -24 52 ... 11 -40 -216 NaN -229 -84 -201 NaN -158 -110
2012-06-14 20:06:00-05:00 -50 32 -29 19 20 -50 2 -1 -24 52 ... 11 -40 -216 NaN -230 -84 -201 NaN -158 -110
2012-06-14 20:07:00-05:00 -50 32 -30 19 20 -50 2 -1 -24 52 ... 11 -40 -216 NaN -230 -84 -201 NaN -158 -110
2012-06-14 20:08:00-05:00 -49 32 -29 19 19 -50 2 -1 -24 52 ... 11 -40 -217 NaN -230 -84 -201 NaN -159 -110
2012-06-14 20:09:00-05:00 -50 32 -29 19 19 -50 2 -1 -24 52 ... 11 -40 -217 NaN -230 -84 -202 NaN -159 -110
2012-06-14 20:10:00-05:00 -49 32 -29 19 19 -50 2 -1 -24 52 ... 11 -40 -217 NaN -230 -84 -202 NaN -159 -110
2012-06-14 20:11:00-05:00 -49 32 -30 19 19 -50 2 -1 -24 52 ... 11 -40 -217 NaN -231 -84 -202 NaN -159 -110
2012-06-14 20:12:00-05:00 -49 32 -29 19 19 -50 2 -1 -24 52 ... 11 -40 -217 NaN -231 -85 -202 NaN -160 -110
2012-06-14 20:13:00-05:00 -49 32 -29 19 19 -50 2 -1 -24 52 ... 11 -40 -217 NaN -231 -85 -202 NaN -160 -110
2012-06-14 20:14:00-05:00 -49 32 -29 19 19 -50 2 -1 -24 52 ... 11 -40 -217 NaN -231 -86 -203 NaN -160 -110
2012-06-14 20:15:00-05:00 -49 32 -29 19 19 -50 2 -1 -24 52 ... 11 -40 -217 NaN -231 -86 -203 NaN -160 -110
2012-06-14 20:16:00-05:00 -49 32 -29 19 19 -50 2 -1 -24 52 ... 11 -40 -218 NaN -231 -86 -203 NaN -160 -110
2012-06-14 20:17:00-05:00 -49 32 -29 19 19 -50 2 -1 -24 52 ... 11 -40 -218 NaN -231 -86 -203 NaN -160 -110
2012-06-14 20:18:00-05:00 -49 32 -29 19 19 -50 2 -1 -24 52 ... 11 -40 -218 NaN -231 -86 -203 NaN -160 -110
2012-06-14 20:19:00-05:00 -49 32 -29 18 19 -50 2 -1 -24 52 ... 11 -40 -218 NaN -231 -86 -203 NaN -161 -110
2012-06-14 20:20:00-05:00 -49 32 -29 18 19 -50 2 -1 -24 52 ... 11 -40 -218 NaN -231 -86 -203 NaN -161 -110
2012-06-14 20:21:00-05:00 -49 32 -29 18 19 -50 2 -1 -24 52 ... 11 -40 -218 NaN -232 -86 -203 NaN -161 -110
2012-06-14 20:22:00-05:00 -49 32 -29 18 19 -50 2 -1 -24 51 ... 11 -40 -218 NaN -232 -86 -203 NaN -161 -110
2012-06-14 20:23:00-05:00 -49 32 -29 18 19 -50 2 -1 -24 52 ... 11 -40 -218 NaN -232 -86 -203 NaN -161 -111
2012-06-14 20:24:00-05:00 -49 32 -29 18 19 -50 2 -1 -24 51 ... 11 -40 -218 NaN -232 -86 -204 NaN -161 -111
2012-06-14 20:25:00-05:00 -49 32 -29 18 19 -50 2 -1 -24 52 ... 10 -40 -219 NaN -232 -86 -204 NaN -161 -111
2012-06-14 20:26:00-05:00 -49 32 -29 18 19 -50 2 -1 -24 51 ... 11 -40 -219 NaN -232 -86 -204 NaN -162 -111
2012-06-14 20:27:00-05:00 -49 32 -29 18 19 -50 2 -1 -24 51 ... 10 -40 -219 NaN -232 -86 -204 NaN -162 -112
2012-06-14 20:28:00-05:00 -49 32 -29 18 19 -50 2 -1 -24 51 ... 10 -40 -220 NaN -232 -86 -204 NaN -162 -112
2012-06-14 20:29:00-05:00 -49 32 -29 18 19 -50 2 -1 -24 51 ... 10 -40 -220 NaN -232 -86 -204 NaN -162 -112
2012-06-14 20:30:00-05:00 -49 32 -29 18 19 -50 1 -1 -24 51 ... 10 -40 -220 NaN -233 -86 -205 NaN -162 -112
2012-06-21 12:31:00-05:00 -35 -24 23 -28 -25 12 -42 46 18 5 ... -42 8 10 -323 11 -33 -2 -316 -42 8
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2013-10-16 21:35:00-05:00 386 401 -367 412 -414 -413 -397 -317 -316 452 ... 479 465 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 21:40:00-05:00 384 403 -370 412 -414 -413 -396 -319 -314 451 ... 476 467 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 21:45:00-05:00 385 403 -370 414 -415 -412 -397 -317 -315 452 ... 479 466 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 21:50:00-05:00 385 403 -370 414 -415 -413 -397 -317 -316 452 ... 478 467 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 21:55:00-05:00 385 403 -371 414 -415 -413 -396 -317 -315 452 ... 477 468 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:00:00-05:00 386 403 -371 414 -415 -412 -396 -315 -316 453 ... 480 467 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:05:00-05:00 385 403 -372 415 -415 -412 -396 -316 -316 453 ... 480 468 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:10:00-05:00 386 403 -373 415 -415 -412 -396 -315 -316 454 ... 480 468 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:15:00-05:00 388 403 -371 414 -413 -413 -395 -316 -316 454 ... 481 468 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:20:00-05:00 385 404 -374 415 -414 -413 -395 -316 -315 453 ... 479 470 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:25:00-05:00 388 403 -373 413 -413 -411 -394 -313 -316 455 ... 482 467 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:30:00-05:00 387 403 -374 413 -412 -413 -393 -314 -316 454 ... 481 470 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:35:00-05:00 388 403 -376 414 -413 -412 -394 -313 -316 456 ... 482 468 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:40:00-05:00 389 405 -375 415 -411 -411 -392 -312 -314 456 ... 482 470 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:45:00-05:00 389 406 -376 414 -411 -411 -391 -311 -314 457 ... 483 470 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:50:00-05:00 391 406 -376 415 -410 -411 -388 -308 -314 457 ... 484 471 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 22:55:00-05:00 389 408 -376 417 -410 -410 -387 -306 -313 457 ... 483 474 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:00:00-05:00 391 409 -377 418 -410 -408 -385 -303 -313 458 ... 485 474 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:05:00-05:00 393 408 -376 416 -408 -407 -382 -301 -313 460 ... 487 474 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:10:00-05:00 392 409 -377 418 -408 -406 -380 -299 -311 460 ... 486 476 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:15:00-05:00 392 412 -374 420 -405 -403 -373 -294 -309 462 ... 488 479 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:20:00-05:00 393 409 -375 417 -405 -404 -372 -292 -309 462 ... 488 477 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:25:00-05:00 394 410 -374 418 -405 -402 -371 -289 -309 462 ... 491 476 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:30:00-05:00 395 411 -373 418 -404 -402 -367 -288 -308 463 ... 491 479 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:35:00-05:00 394 413 -374 420 -404 -401 -365 -286 -307 463 ... 490 479 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:40:00-05:00 395 412 -373 419 -403 -400 -362 -285 -307 463 ... 491 479 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:45:00-05:00 394 411 -374 419 -403 -400 -360 -284 -307 463 ... 491 479 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:50:00-05:00 394 413 -374 420 -403 -399 -359 -283 -306 462 ... 491 480 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-16 23:55:00-05:00 394 411 -373 418 -404 -399 -359 -283 -308 462 ... 491 477 NaN NaN NaN NaN NaN NaN NaN NaN
2013-10-17 00:00:00-05:00 394 411 -374 419 -403 -399 -357 -282 -307 462 ... 491 479 NaN NaN NaN NaN NaN NaN NaN NaN

120811 rows × 48 columns


In [ ]:


In [74]:
#### The next thing to try is to read in metadata from "HypnosLogger076_DataChannelsInfo.xlsx" 
   # and append that metatdata to column headings

# It seems possible to rename all columns at once, but not one at a time.
df.columns = ['R_0y', u'R_01', u'R_02', u'R_03', u'R_04', u'R_05', u'R_06', u'R_07', u'R_08', u'R_09', u'R_10', u'R_11', u'R_12', u'R_13', u'R_14', u'R_15', u'R_16', u'R_17', u'R_18', u'R_19', u'R_20', u'R_21', u'R_22', u'R_23', u'R_24', u'R_25', u'R_26', u'R_27', u'R_28', u'R_29', u'R_30', u'R_31', u'R_32', u'R_33', u'R_34', u'R_3x']
df.columns


Out[74]:
Index([u'R_0y', u'R_01', u'R_02', u'R_03', u'R_04', u'R_05', u'R_06', u'R_07', u'R_08', u'R_09', u'R_10', u'R_11', u'R_12', u'R_13', u'R_14', u'R_15', u'R_16', u'R_17', u'R_18', u'R_19', u'R_20', u'R_21', u'R_22', u'R_23', u'R_24', u'R_25', u'R_26', u'R_27', u'R_28', u'R_29', u'R_30', u'R_31', u'R_32', u'R_33', u'R_34', u'R_3x'], dtype='object')

In [16]:
####  I'm stuck on this step  ###

df1 = df.rename(index={1:"test"})
df.columns


Out[16]:
Index([u'R_00', u'R_01', u'R_02', u'R_03', u'R_04', u'R_05', u'R_06', u'R_07', u'R_08', u'R_09', u'R_10', u'R_11', u'R_12', u'R_13', u'R_14', u'R_15', u'R_16', u'R_17', u'R_18', u'R_19', u'R_20', u'R_21', u'R_22', u'R_23', u'R_24', u'R_25', u'R_26', u'R_27', u'R_28', u'R_29', u'R_30', u'R_31', u'R_32', u'R_33', u'R_34', u'R_35'], dtype='object')