为什么我不能将 tempDF 附加到 df?
Why I cant append tempDF to df?
我有那个代码:
def show_files(upload_files):
tempDF = pd.DataFrame()
tempDF2 = pd.DataFrame()
for file in upload_files:
file = file.name
if file.startswith('L'):
Table = Dbf5(file)
DF1 = Table.to_dataframe()
tempDF = tempDF.append(DF1, sort=False)
elif file.startswith('M'):
Table = Dbf5(file)
DF2 = Table.to_dataframe()
tempDF2 = tempDF2.append(DF2, sort=False)
print(f"final 2 - {tempDF2}")
return [tempDF, tempDF2]
Upload_files 这是一个包含文件名的列表。示例:
["M22.dbf", "M31.dfb", "L22.dfb"]
所有 dbf 已成功加载为 DF。我调试了它。所以 DF1 = Table.to_dataframe()
工作正常。但是函数 return DF 仅来自上次加载的文件...
例如:
1. Load M22 (500rows)
2. Put in TEMP_DF2 (temp_df2 = 500rows)
3. Load M31 (266rows)
4. Put in TEMP_DF2 with append(temp_DF2 = 266 rows, excepted 766)
我不知道为什么?我没有注意到错误。
不确定您的 DataFrame
看起来如何,但是,问题似乎不是追加(参见下面的示例)。可能是通过的列表有问题吗?重现错误的完整示例可能会有所帮助。
import pandas as pd
uploads = ['M1', 'M2', 'L1', 'L2', 'M3']
df_m = pd.DataFrame()
df_l = pd.DataFrame()
for upload in uploads:
if upload.lower().startswith('l'):
df_l = df_l.append(pd.DataFrame({'a' : [i for i in range(10)]}))
else:
df_m = df_m.append(pd.DataFrame({'a' : [i for i in range(10)]}))
print('M: ', df_m.shape) #(30,1)
print('L: ', df_l.shape) #(20,1)
我有那个代码:
def show_files(upload_files):
tempDF = pd.DataFrame()
tempDF2 = pd.DataFrame()
for file in upload_files:
file = file.name
if file.startswith('L'):
Table = Dbf5(file)
DF1 = Table.to_dataframe()
tempDF = tempDF.append(DF1, sort=False)
elif file.startswith('M'):
Table = Dbf5(file)
DF2 = Table.to_dataframe()
tempDF2 = tempDF2.append(DF2, sort=False)
print(f"final 2 - {tempDF2}")
return [tempDF, tempDF2]
Upload_files 这是一个包含文件名的列表。示例:
["M22.dbf", "M31.dfb", "L22.dfb"]
所有 dbf 已成功加载为 DF。我调试了它。所以 DF1 = Table.to_dataframe()
工作正常。但是函数 return DF 仅来自上次加载的文件...
例如:
1. Load M22 (500rows)
2. Put in TEMP_DF2 (temp_df2 = 500rows)
3. Load M31 (266rows)
4. Put in TEMP_DF2 with append(temp_DF2 = 266 rows, excepted 766)
我不知道为什么?我没有注意到错误。
不确定您的 DataFrame
看起来如何,但是,问题似乎不是追加(参见下面的示例)。可能是通过的列表有问题吗?重现错误的完整示例可能会有所帮助。
import pandas as pd
uploads = ['M1', 'M2', 'L1', 'L2', 'M3']
df_m = pd.DataFrame()
df_l = pd.DataFrame()
for upload in uploads:
if upload.lower().startswith('l'):
df_l = df_l.append(pd.DataFrame({'a' : [i for i in range(10)]}))
else:
df_m = df_m.append(pd.DataFrame({'a' : [i for i in range(10)]}))
print('M: ', df_m.shape) #(30,1)
print('L: ', df_l.shape) #(20,1)