python 2.7 переименование значений в списке - PullRequest
0 голосов
/ 05 марта 2020

Когда импортируется несколько CSV-файлов и я сохраняю их в массиве, имя для всех импортированных файлов равно q=[Dataframe, Dataframe,Dataframe,Dataframe,Dataframe,Dataframe,Dataframe,Dataframe], я хотел бы изменить имя, используя аналогичное базовое имя файла.

files_array_Q = []
files_array_F = []
files_array_MRG =[]

for files in files_import_Q :
    qs_matrix = pd.read_csv(files, delimiter=" ", header=None)
    files_array_Q.append(qs_matrix)

for files in files_import_F :
    in_fam = pd.read_csv(files, delimiter=" ", header=None)
    files_array_F.append(in_fam)

например читать файлы с именами file1.Q file2.Q file3.Q files4.Q

в массиве files_array_Q = [files1, file2, files3, file4]

1 Ответ

0 голосов
/ 05 марта 2020

Вы можете использовать Pandas функцию разделения строк . Это решение предполагает, что имена файлов не имеют посторонних периодов.

q_list = pd.DataFrame(['file1.Q', 'file2.Q', 'file3.Q'], columns=['files'])

# split into file, type
q_split = pd.DataFrame(q.files.str.split('.',1).tolist())

# now get only the first column:
q_name_only = q_split[q_split.columns[0]]

Вы можете объединить эти два шага в одну строку, используя Pandas ilo c, чтобы выбрать столбец по его целое местоположение:

q_name_only = pd.DataFrame(q_list.files.str.split('.',1).tolist()).iloc[:,0]
...