我来自R(和SAS)并且在一大堆.txt文件(全部存储在同一目录中)中读取问题,并在pandas中创建一个大型数据帧。到目前为止,我已尝试合并代码 - 所有这些都失败了。我认为这是一项简单的任务,但缺乏python中的经验...
如果这对数据有帮助,我想创建一个大型数据框:http://www.ssa.gov/oact/babynames/limits.html - 状态特定集(总共50个,以其州名abbreviation.txt命名)
请帮忙!
import pandas as pd
import glob
filelist = glob.glob("C:\Users\Dell\Downloads\Names\*.txt")
names = ['state', 'gender', 'year', 'name', 'count']
然后,我正在考虑使用pd.concat,但我不确定 - 基本上我想在每个数据集中读取然后row.bind这些集合(假设它们都有相同的列)...
答案 0 :(得分:2)
concat很好,因为"加入"被设置为"外部" (即索引联合)默认情况下。您可以轻松使用df.join(),但必须指定"如何"作为"外部"。无论哪种方式,您都可以非常简单地构建数据框:
import pandas as pd
from glob import glob as gg
data = pd.DataFrame()
names = ['state', 'gender', 'year', 'name', 'count']
for f in gg('*.txt'):
tmp = pd.read_csv(f,columns=names)
data = pd.concat([data,tmp],axis=0,ignore_index=True)