Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.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
Python:dataframe-数据被覆盖而不是被压缩_Python_Pandas_Dataframe - Fatal编程技术网

Python:dataframe-数据被覆盖而不是被压缩

Python:dataframe-数据被覆盖而不是被压缩,python,pandas,dataframe,Python,Pandas,Dataframe,我想从几个.csv文件中提取数据,并将它们合并到pandas中的一个大数据帧中。为此,我创建了一个数据帧,该数据帧应填充传入数据帧的数据 final_df = DataFrame(columns=['Column1','Column2','Column3']) for file in glob.glob("file.csv"): name_csv = str(file) logfile = pd.read_csv(name_csv, skip_blank_lines = F

我想从几个.csv文件中提取数据,并将它们合并到pandas中的一个大数据帧中。为此,我创建了一个数据帧,该数据帧应填充传入数据帧的数据

final_df = DataFrame(columns=['Column1','Column2','Column3'])

for file in glob.glob("file.csv"):
     name_csv = str(file)
     logfile = pd.read_csv(name_csv, skip_blank_lines = False)
     df = DataFrame(logFile, columns=['Column1','Column2','Column3']
     concat = pd.concat([final_df,df])
但是,随着循环的每次迭代,先前提取的数据都会被覆盖。如何解决此问题?

您需要首先将所有df附加到列表中,然后使用:

对-logfile的一些改进已经是df,更好的是使用参数名

或使用列表理解:

您需要首先将所有df追加到列表中,然后使用:

对-logfile的一些改进已经是df,更好的是使用参数名

或使用列表理解:


您根本没有使用pd.concat的结果。变量concat在每次迭代中都会被丢弃,但它将是部分数据帧。

您根本没有使用pd.concat的结果。变量concat在每次迭代中都会被丢弃,但它将是部分数据帧。

您应该创建df的列表,并在最后将其全部concat:

concat_list = [] 
for file in glob.glob("file.csv"):
     name_csv = str(file)
     logfile = pd.read_csv(name_csv, skip_blank_lines = False)
     df = DataFrame(logFile, columns=['Column1','Column2','Column3']
     concat_list.appned(df)
final_df = pd.concat(concat_list)

您应该创建df的列表,并在末尾将其全部合并:

concat_list = [] 
for file in glob.glob("file.csv"):
     name_csv = str(file)
     logfile = pd.read_csv(name_csv, skip_blank_lines = False)
     df = DataFrame(logFile, columns=['Column1','Column2','Column3']
     concat_list.appned(df)
final_df = pd.concat(concat_list)

看起来你对列表的理解是错误的。看起来你对列表的理解是错误的。在这种情况下,没有理由保留final_df的第一个实例。它最终被替换了。@Langitar,忘了删除它,谢谢:在这种情况下,没有理由保留final_df的第一个实例。它最终被替换了。@Langitar,忘记删除了,谢谢:
concat_list = [] 
for file in glob.glob("file.csv"):
     name_csv = str(file)
     logfile = pd.read_csv(name_csv, skip_blank_lines = False)
     df = DataFrame(logFile, columns=['Column1','Column2','Column3']
     concat_list.appned(df)
final_df = pd.concat(concat_list)