Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在for-Python循环中创建不同名称的数据帧?_Python_Pandas_Dataframe_For Loop - Fatal编程技术网

在for-Python循环中创建不同名称的数据帧?

在for-Python循环中创建不同名称的数据帧?,python,pandas,dataframe,for-loop,Python,Pandas,Dataframe,For Loop,我正在为每年(1971-2017年)的数据创建一个数据框架。我有一个for循环来创建数据帧,但它是一体的。我将如何使其每年创建一个单独的df?下面是我目前拥有的 for years in range(1971,2017): df = pd.read_csv('gene_%4.4d.txt'%years, sep='|', header=None, names=['PubMed ID','Title','Abstract','Affiliations','Pub Year','Pu

我正在为每年(1971-2017年)的数据创建一个数据框架。我有一个for循环来创建数据帧,但它是一体的。我将如何使其每年创建一个单独的df?下面是我目前拥有的

for years in range(1971,2017):
        df = pd.read_csv('gene_%4.4d.txt'%years, sep='|', header=None, names=['PubMed ID','Title','Abstract','Affiliations','Pub Year','Pub Month','Pub Day','Journal'])

每次读取新文件时,都会覆盖
df
变量。为了避免这种情况,我建议在循环之外初始化一个列表,并在其中存储每个新的数据帧:

all_dfs = []

for years in range(1971, 2017):
    df = pd.read_csv('gene_%4.4d.txt' % years, sep='|', header=None, names=['PubMed ID', 'Title', 'Abstract', 'Affiliations', 'Pub Year', 'Pub Month', 'Pub Day', 'Journal'])
    all_dfs.append(df)

现在
all\u dfs
是所有数据帧的列表。(下一步要做的一件常见事情是将它们组合成一个大数据帧,例如,
pd.concat(all_dfs)

将整个csv读入单个df,然后根据年份从df中选择部分。如果您提供示例csv数据,我们可能会在代码方面提供帮助。谢谢。我甚至没有想到它是怎么写在上面的。我刚刚重新开始编写代码,并试图记住以前的一切。