我正在尝试创建一个pandas DataFrame
,它适用于单个文件。如果我需要为具有相同数据结构的多个文件构建它。因此,我有一个文件名列表而不是单个文件名,我想从中创建DataFrame
。
不确定在pandas中附加到当前DataFrame
的方法是什么,或者有没有办法让pandas将文件列表吸入DataFrame
。
答案 0 :(得分:26)
pandas 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)
答案 1 :(得分:3)
可能非常低效但......
为什么不使用read_csv
来构建两个(或更多)数据帧,然后使用join将它们组合在一起?
也就是说,如果您提供一些数据或您目前使用的一些代码,那么回答您的问题会更容易。
答案 2 :(得分:1)
我可能会尝试在将文件提供给pandas之前连接这些文件。如果您使用的是Linux或Mac,则可以使用cat
,否则一个非常简单的Python函数可以为您完成这项任务。
答案 3 :(得分:0)
这些文件是否为csv格式。您可以使用read_csv。 http://pandas.sourceforge.net/io.html
读完文件并将其保存在两个数据框中后,您可以合并两个数据框或将其他列添加到两个数据框之一(假设是公共索引)。熊猫应该能够填补缺失的行。
答案 4 :(得分:0)
// Move this to where you declare viewModel
val viewModel: ViewBreederViewModel by viewModels()
viewModel.strainList.observe(viewLifecycleOwner) { strainList ->
// use your updated list
}