将多列合并到矩阵python中
我在python中有几个专栏,我最终尝试合并它们。现在我正在使用zip函数,但是在合并列之后,我将它们输出为CSV,并且格式很糟糕(zip在添加新列时将列合并,而不是将列分开)。以下是一个例子:将多列合并到矩阵python中,python,csv,merge,zip,data-processing,Python,Csv,Merge,Zip,Data Processing,我在python中有几个专栏,我最终尝试合并它们。现在我正在使用zip函数,但是在合并列之后,我将它们输出为CSV,并且格式很糟糕(zip在添加新列时将列合并,而不是将列分开)。以下是一个例子: col1 = [text1, text2, text3, etc] col2 = [str1, str2, str3, etc.] col3 = [num1, num2, num3, etc.] 我希望他们像这样结合起来: [[text1, str1, num1], [text2, str2, nu
col1 = [text1, text2, text3, etc]
col2 = [str1, str2, str3, etc.]
col3 = [num1, num2, num3, etc.]
我希望他们像这样结合起来:
[[text1, str1, num1],
[text2, str2, num2],
[text3, str3, num3]]
从那里,我将能够输出矩阵作为一个csv的列都是独立的。现在看起来是这样的:
[[text1, str1, num1],
[text2, str2, num2],
[text3, str3, num3]]
我的代码
file_weights = similarity[0]
file_ranking = zip(filtered_and_cleaned, case_id)[1:]
file_ranking_2 = zip(file_ranking, file_weights)[1:]
输出
[[text1 str1, num1],
[text2 str2, num2],
[text3 str3, num3]]
我明白为什么我所做的不起作用,我只是不知道如何修复它。一个指向列列表的指针就可以解决这个问题
col1 = [text1, text2, text3]
col2 = [str1, str2, str3]
col3 = [num1, num2, num3]
print zip(*[col1,col2,col3])
在Python中,3返回一个迭代器。因此,结果的列表将给出所需的输出
就是
print list(zip(*[col1,col2,col3]))
输出格式如下!:
[[text1, str1, num1],
[text2, str2, num2],
[text3, str3, num3]]
希望能有帮助
快乐编码 我可能错了。但我猜,将您在此处共享的内容写入csv后的输出是错误的。如中所示,您已经给出了所需的列表,而不是所需的列表。这非常完美。非常感谢。如果你觉得有一个解决方案可以回答你的问题,那么就接受这个答案,这样将来在任何人遇到类似问题时,正确的解决方案可能就在眼前!