从(元组,列,值,元组)的元组列表构造pandas DataFrame

我有一个像元组的列表

data = [
('r1', 'c1', avg11, stdev11),
('r1', 'c2', avg12, stdev12),
('r2', 'c1', avg21, stdev21),
('r2', 'c2', avg22, stdev22)
]

我想将它们放入一个pandas DataFrame中,其中第一列命名的行和第二列命名的列.似乎照顾行名称的方法类似于pandas.DataFrame(数据中x为[x [1:]],数据中x为索引= [x [0]]但是我该如何处理获得2×2矩阵的列(前一组的输出是3×4)?是否有更智能的方式来处理行标签,而不是明确省略它们?

编辑似乎我需要2个DataFrames – 一个用于平均值,一个用于标准偏差,这是正确的吗?或者我可以在每个“单元格”中存储值列表吗?

解决方法:

您可以在创建后转动DataFrame:

>>> df = pd.DataFrame(data)
>>> df.pivot(index=0, columns=1, values=2)
# avg DataFrame
1      c1     c2
0               
r1  avg11  avg12
r2  avg21  avg22
>>> df.pivot(index=0, columns=1, values=3)
# stdev DataFrame
1        c1       c2
0                   
r1  stdev11  stdev12
r2  stdev21  stdev22
上一篇:mysql中的行到列转换


下一篇:php – 具有多个计数的MySQL数据透视表