如何将文本文件读取到数组成熊猫数据框

时间:2018-07-26 23:53:29

标签: python pandas numpy

我想创建一个新列,从该列中读取文件名: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 :(“无法将'bytes'对象隐式转换为str','发生在索引0')

有没有办法做到这一点?

1 个答案:

答案 0 :(得分: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()函数只是弹出系列中的唯一元素。