我正在尝试创建一个熊猫DataFrame
,它对单个文件工作正常。如果我需要为具有相同数据结构的多个文件构建它。所以,而不是单个文件名我有一个文件名列表,我想创建DataFrame
。从多个文件创建熊猫数据帧
不知道在熊猫中追加到当前DataFrame
的方式是什么,或者是否有一种方法可以让大熊猫吸取文件列表为DataFrame
。
我正在尝试创建一个熊猫DataFrame
,它对单个文件工作正常。如果我需要为具有相同数据结构的多个文件构建它。所以,而不是单个文件名我有一个文件名列表,我想创建DataFrame
。从多个文件创建熊猫数据帧
不知道在熊猫中追加到当前DataFrame
的方式是什么,或者是否有一种方法可以让大熊猫吸取文件列表为DataFrame
。
熊猫concat
命令是你的朋友在这里。比方说,你有一个目录中的所有文件,targetdir。您可以:
`
import os
import pandas as pd
#list the files
filelist = os.listdir(targetdir)
#read them into pandas
df_list = [pd.read_table(file) for file in filelist]
#concatenate them together
big_df = pd.concat(df_list)
我可能会尝试连接文件,然后再将它们送入熊猫。如果你在Linux或Mac上,你可以使用cat
,否则一个非常简单的Python函数可以为你完成这项工作。
当然..只是好奇,如果有是一种在不结合所有文件的情况下做到这一点的方法。感谢您的快速回复Jose – Abhi
这些文件是否为csv格式。你可以使用read_csv。 http://pandas.sourceforge.net/io.html
一旦您已经阅读这些文件,并将其保存两个dataframes,你可以合并两个dataframes或添加更多的列到两个dataframes(假设普通指数)中的一个。熊猫应该能够填写缺失的行。
潜在的效率极其低下,但...
为什么不使用read_csv
,建立两个(或更多)dataframes,然后用加入把它们放在一起?
也就是说,如果您提供了一些数据或您迄今使用的一些代码,回答您的问题会更容易。
Glob将是完美的第一步。您可以使用通配符生成文件列表。 – thecircus
在我的用例中,我需要执行'pd.concat(df_list,ignore_index = True,axis = 1)',因为每个csv文件都代表一列 – zje