继续学习MMSegmentation训练语义分割深度学习算法
视频python版本为3.7,我这边运行可视化代码用的本地3.9,出现错误,记录一下调试过程,如果遇到相同情况建议直接看解决。
原代码
df_train = pd.DataFrame()
df_test = pd.DataFrame()
for each in json_list[:-1]:
if 'aAcc' in each:
df_test = df_test.append(eval(each), ignore_index=True)
else:
df_train = df_train.append(eval(each), ignore_index=True)
df_train
df_test
报错
FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
df_train = df_train.append(eval(each), ignore_index=True)
问题一:AttributeError: ‘DataFrame’ object has no attribute ‘concat’
原因:直接把append改成了concat
问题二:TypeError: cannot concatenate object of type ‘<class ‘list’>’; only Series and DataFrame objs are valid
改了但没完全改
df_train = pd.DataFrame()
df_train_ = []
df_test = pd.DataFrame()
df_test_ = []
for each in json_list[:-1]:
if 'aAcc' in each:
df_test_.append(eval(each))
else:
df_train_.append(eval(each))
df_test = pd.concat([df_test, df_test_], ignore_index=True)
df_train = pd.concat([df_train, df_train_], ignore_index=True)
解决
虽然冗余但有用
df_train = pd.DataFrame()
df_train_ = []
df_test = pd.DataFrame()
df_test_ = []
for each in json_list[:-1]:
if 'aAcc' in each:
df_test_.append(eval(each))
else:
df_train_.append(eval(each))
df_test = pd.concat([df_test, pd.DataFrame(df_test_)], ignore_index=True)
df_train = pd.concat([df_train, pd.DataFrame(df_train_)], ignore_index=True)