我不太确定如何解释这个问题,但是我有一个电子表格,我将其插入没有标题的python中,并且与每个唯一ID相关的数据都分为三行,因此此时的列不读到“变平”之前,它真的没有任何意义。格式是一致的,但是我很难确定要搜索什么才能获得所需的输出。
如果这是在Excel中,则基本上是将第二行和第三行复制到第1行的右侧 然后删除第2行和第3行,重复直到我到达工作表底部为止。
这就是我接收数据的方式
id1 criteria1 criteria2 criteria3
criteria4 criteria5 criteria6 criteria7
criteria8 criteria9 criteria10 criteria11
id2 criteria1 criteria2 criteria3
criteria4 criteria5 criteria6 criteria7
criteria8 criteria9 criteria10 criteria11
id3 criteria1 criteria2 criteria3
criteria4 criteria5 criteria6 criteria7
criteria8 criteria9 criteria10 criteria11
这就是我要实现的目标
id1 criteria1 criteria2 criteria3 criteria4 criteria5 criteria6 criteria7 criteria8 criteria9 criteria10 criteria11
id2 criteria1 criteria2 criteria3 criteria4 criteria5 criteria6 criteria7 criteria8 criteria9 criteria10 criteria11
id3 criteria1 criteria2 criteria3 criteria4 criteria5 criteria6 criteria7 criteria8 criteria9 criteria10 criteria11
答案 0 :(得分:0)
看看这是否会让您走上正确的轨道。 注意事项:鉴于源数据的歧义性(如注释中所述),很难提供完整的解决方案...但是请尝试一下。
使用您的示例输入,将其转换为简单的CSV文件。
id1,criteria1,criteria2,criteria3
criteria4,criteria5,criteria6,criteria7
criteria8,criteria9,criteria10,criteria11
id2,criteria1,criteria2,criteria3
criteria4,criteria5,criteria6,criteria7
criteria8,criteria9,criteria10,criteria11
id3,criteria1,criteria2,criteria3
criteria4,criteria5,criteria6,criteria7
criteria8,criteria9,criteria10,criteria11
注意:[3, 12]
(或[rows, columns]
)的整形值将需要根据输入数据的形状进行修改。
import pandas as pd
array = pd.read_csv('folded.csv', header=None).to_numpy().reshape([3, 12])
pd.DataFrame(array).to_csv('unfolded.csv', index=False, header=False)
id1,criteria1,criteria2,criteria3,criteria4,criteria5,criteria6,criteria7,criteria8,criteria9,criteria10,criteria11
id2,criteria1,criteria2,criteria3,criteria4,criteria5,criteria6,criteria7,criteria8,criteria9,criteria10,criteria11
id3,criteria1,criteria2,criteria3,criteria4,criteria5,criteria6,criteria7,criteria8,criteria9,criteria10,criteria11