我正在阅读多个.csv文件并将它们写入新的.csv文件。
我正在尝试将if / else语句与pd.insert()
结合使用,将新列添加到数据帧的开头,如下所示:
path = r'.../Model_AMs'
allFiles = glob.glob(path + "/*.csv")
for file_ in allFiles:
df = pd.read_csv(file_, header=None).astype(int).transpose().melt()
if 'slot' in file_:
df.insert(loc=0, column='label', value=0)
print('slot file!')
else:
df.insert(loc=0, column='label', value=1)
print('boss file!')
pd.DataFrame(dict(zip(df.index, df.value)), index=[0]).to_csv(
'trainingdata.csv', index=False, header=None, mode='a')
目前新的csv文件看起来像这样:
pixel0, pixel1, pixel2,...
0, 1, 1,...
我希望它看起来像这样:
label, pixel0, pixel1, pixel2,...
1, 0, 1, 1,...
编写csv文件正如我所希望的那样工作,但是我想根据文件名包含的内容在每个数据帧的开头添加一个新列。不确定我是否正确使用pd.insert()
函数,或者if / else语句可能是错误的。
任何帮助将不胜感激
答案 0 :(得分:0)
直接写下df
:
df.to_csv('trainingdata.csv', header=None, index=False, mode='a')
无需创建其他DataFrame。