我对使用Pandas还比较陌生,但是我有一个问题,我希望对于熟悉Pandas的经验丰富的Python开发人员来说是有意义的。你知道吗
我正在使用Python库从microsoftexcel读取csv文件,其中的数据被组织成长行。每行的开头都包含一个日期,后跟后续的测量值:
Date A1 A2 A3 A1001
1/1/2000, measurement 1, measurement 2, measurement 3, to measurement 1000.
我想把每一行转换成三个新的列,其中包括一个“日期”列、“数据”列和一个“位置”列,这些列现在将保持空白。你知道吗
一旦1月1日结束,它将从2000年1月2日重新开始。我知道,这些柱子会非常长。我需要这种方式上传到一个数据库,而不是难以置信的长行。你知道吗
所有这些都将写入一个新的csv文件,该文件将从原始文件转换而来。你知道吗
我试图用“iloc”选择第一行。我不太确定从这里到哪里去。你知道吗
谢谢你的帮助。你知道吗
下面的代码是我在对所有行进行格式化之前仅格式化一行的尝试。你知道吗
df = pd.read_csv('csv_file')
#select individual row
first_row = df.iloc[0]
#convert to dataframe
first_row = pd.DataFrame(data=df.iloc[0])
#transpose?
first_row.stack()
#test the output
print(first_row)
#reformatted_df.to_csv('csv_output_file')
每行包含1000个数值测量单元。你知道吗
与其在一行上有一个日期和与之相关的所有值,我希望有三列如下所示:
Date Data Location
1/1/2000 Measurement 1...
1/1/2000 Measurement 2...
1/1/2000 Measurement 3...
1/1/2000 Measurement 1000
etc.
The column continues for 1/2/2000:
Date Data Location
1/2/2000 Measurement 1...
1/2/2000 Measurement 2...
1/2/2000 Measurement 3...
1/2/2000 Measurement 1000
以此类推。你知道吗
获取所需内容的最简单方法是将日期设置为索引,并使用
.unstack()
将列转换为行:然后可以去掉旧的列名并用
reset_index()
和drop()
返回自动编号的索引:相关问题 更多 >
编程相关推荐