【发布时间】:2019-01-05 03:41:21
【问题描述】:
我有一个数据框df,例如:
A = [["John", "Sunday", 6], ["John", "Monday", 3], ["John", "Tuesday", 2], ["Mary", "Sunday", 6], ["Mary", "Monday", 4], ["Mary", "Tuesday", 7]]
df = pandas.DataFrame(A, columns=["names", "dates", "times"])
我想重新调整它,以便我可以创建一个矩阵,而不是三列,其中第一列索引行,第二列索引列,第三列成为矩阵值,类似于:
B = [["John", 6, 3, 2], ["Mary", 6, 4, 7]]
df2 = pandas.DataFrame(B, columns=["names", "Sunday", "Monday", "Tuesday"])
甚至更好:
B = numpy.asarray(B)
B = pandas.DataFrame(B)
如何将 A 转换为 B?
我创建了一个双循环,但在我的情况下,df 非常大,需要很长时间。有没有更好的方法?
这不仅仅是重塑,因为 A 有 18 个值,B 有 8 个
【问题讨论】:
标签: python pandas dataframe matrix