gpt4 book ai didi

python - 分割数据帧并根据循环写入新的 csv

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:28 25 4
gpt4 key购买 nike

我有一个像这样的 df:

Allotment   Year    NDVI     A_Annex    Bachelor
A_Annex 1984 1.0 0.40 0.60
A_Annex 1984 1.5 0.56 0.89
A_Annex 1984 2.0 0.78 0.76
A_Annex 1985 3.4 0.89 0.54
A_Annex 1985 1.6 0.98 0.66
A_Annex 1986 2.5 1.10 0.44
A_Annex 1986 1.7 0.87 0.65

我想将每一列写入一个新的数据帧,以及基于列名称的后续 csv。所以我想要一个新的 csv 来存储每列的内容。

到目前为止我已经做到了:

outpath='C:\'
for column in df:
x=pd.DataFrame(df[column])
outpath=outpath + column + '.csv'
x.to_csv(outpath)

但是当我只想写入单独的列时,column 包含每个列名称。我想要的文件名类似于 Allotment.csvYear.csvNDVI.csvA_Annex.csv >, Bachelor.csv

最佳答案

这一行正在收集所有列名称:

outpath = outpath + column + '.csv'

因为它在 for 循环的每个循环上运行

这有效:

outpath='C:\'
for column in df:
x=pd.DataFrame(df[column])
outfile=outpath + column + '.csv'
x.to_csv(outfile)

请注意,循环变量名称从 outpath 更改为新的 var outfile,这将防止文件名被聚合和损坏。

我注意到 .csv 文件有两列:行号和值。如果您不需要行号,请使用 x.to_csv(outfile, index=False)

关于python - 分割数据帧并根据循环写入新的 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35544279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com