请教个pd.DtataFrame的问题

色郎中 2017-05-04 01:13:16

lists = from_dir_get_files_list('./test/', ['.txt'])#从指定目录获取文件名,结果放入列表
for i in range(len(lists)):#根据文件个数作循环处理
files_counter=files_counter+1
results = parsing_files(lists[i])#解析文件,结果放列表里
rr = []
for m in results:#从结果列表,根据记录数循环取值
rr.append(m[8:9]) # 切片取值,将从文件中获取的每条记录的,第八列取出,并放到新列表
df = pd.DataFrame(rr)
# print (df)
df[i] = rr
print ("files num:",len(lists))
print (i)
print ('df:',df)
print('df len:',len(df))


现在遇到问题,出在最后两句,想把切片的值,按列向 df 里追加,没有达到想要的结果:
比如,有10个文件,解析出来10条记录,每条记录有20个列(取第八列值)
结果应该如下:

('df:',0 1 2 3 4 5 6 7 8 9
0 2 2 2 2 2 2 2 2 2 2 2 2
1 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
3 2 2 2 2 2 2 2 2 2 2 2 2
4 2 2 2 2 2 2 2 2 2 2 2 2
5 2 2 2 2 2 2 2 2 2 2 2 2
6 2 2 2 2 2 2 2 2 2 2 2 2
7 2 2 2 2 2 2 2 2 2 2 2 2
8 2 2 2 2 2 2 2 2 2 2 2 2
9 2 2 2 2 2 2 2 2 2 2 2 2


而代码执行的结果,如下:

('df:',0 9
0 2 2
1 2 2
2 2 2
3 2 2
4 2 2
5 2 2
6 2 2
7 2 2
8 2 2
9 2 2


问题就出在这里

df = pd.DataFrame(rr)
# print (df)
df[i] = rr

这里应该怎么改,才能实现想要的效果呢?
...全文
114 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧