У меня есть файлы с двумя столбцами, длиной волны и интенсивностью, и у меня есть скрипт, который перебирает файлы в каталоге, чтобы объединить их в один файл с одним столбцом длины волны и многими столбцами интенсивности.Я хотел бы заменить столбец интенсивности несколькими индексами, содержащими информацию из имени файла (сумка, из которой получен образец, дата выборки и т. Д.).У меня есть датафрейм с этой информацией, но я не смог найти функцию панды, чтобы заменить "интенсивность" на мой установленный фрейм данных.Мой текущий код копирует фрейм данных один раз и перезаписывает его каждым файлом, поэтому у меня остается один набор этой информации, который соответствует только последнему файлу в каталоге.Текущий код размещен ниже.
import os
import pandas as pd
import glob
import numpy as np
def csvxtract():
WavelengthDF = pd.DataFrame(columns=['wavelength'])
TwoColDF = pd.DataFrame(columns=['wavelength', 'intensity'])
bag = str(input('Please enter location and number of this sample bag: '))
for filename in glob.glob('*.csv'):
TwoColDF = pd.read_csv(filename)
file = str(filename)
NameDF = pd.DataFrame({'Bag': [bag], \
'Sample':[file[:6]], \
'Trial':[file[6:9]], \
'Date': [file[10:18]], \
'Time': [file[19:25]]})
TNameDF = NameDF.T
#ReNameTwoColDF = TwoColDF.rename(index=str, columns={'wavelength':'wavelength', 'intensity':TNameDF})
combine = [TNameDF, WavelengthDF]
CombinedDF = pd.concat(combine)
WavelengthDF = TwoColDF.merge(WavelengthDF, how = 'outer', on = 'wavelength')
CombinedDF.to_csv('CompiledData.csv')
csvxtract()
, как видно из моего кода, я попытался использовать df.rename, но, похоже, это работает только для пользовательских строк ввода, чтобы переименовать столбец, в отличие отперезаписать имя несколькими строками в кадре данных.Если требуются мои текущие или желаемые результаты, пожалуйста, дайте мне знать.Заранее спасибо.
Я полагаю, что короткий вопрос к моему длинному сложному вопросу, приведенному выше, будет таким: Есть ли в пандах какие-либо функции, позволяющие заменить индекс одного столбца на фрейм данных?