Как прочитать текстовый файл в массив в панде dataframe

1

Я хочу создать новый столбец, который читает имя файла из столбца: df ['Filename'] применяет np.genfromtext, а затем помещает результирующий массив в новый столбец под названием Scan.

d = {'Filename':['G924310X.txt','G924330X.txt','G924340X.txt'],
 'Longitude':[92.4,92.4,92.4],    
 'Latitude':[-31.0,-33.0,-34.0]}

df = pd.DataFrame(data = d)

def f(x):
    return np.genfromtxt(x , delimiter=', ')

df['Scan'] = df.apply(lambda x: f(df['Filename']), axis = 1)

Я получаю эту ошибку, TypeError: ("Невозможно преобразовать объект" байты "в str неявно", "произошел с индексом 0")

Есть ли способ сделать это?

  • 0
    try df['Scan'] = df['Filename'].apply(f)
Теги:
pandas
numpy

1 ответ

0
Лучший ответ

Я считаю, вы должны изменить

df['Scan'] = df.apply(lambda x: f(df['Filename']), axis = 1)

за

df['Scan'] = df.apply(lambda x: f(x['Filename'].item()), axis = 1)

Или, может быть

df['Scan'] = df.Filename.apply(f, axis = 1)

В противном случае apply всегда будет вызывать функцию со всей вашей серией для каждой строки. Функция .item() только выдает уникальный элемент в серии.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню