Pandas 将输出转向 html
Pandas Pivot output to html
有谁知道如何解决从 Pivot 生成日期框时的问题"no attr='labels' under dataframe.index"?
请在下面找到两个示例,
第一个(数据透视表)return error 'index has no attr 'labels',
第二个('groupby' 数据框)有效。
'Pivot'的示例:
import pandas as pd
import numpy as np
raw_data = {'A' : ['A1', 'A1', 'A2', 'A2'],
'B': ['B1', 'B2', 'B2', 'B1'],
'QTY': [1., 2., 3., 4.],}
df = pd.DataFrame(raw_data)
df_pivot = df.pivot(index='A', columns='B', values='QTY')
print "-------Result---------"
print df_pivot
print "------View Index------"
print df_pivot.index
print "------View Label------"
print df_pivot.index.labels
输出:
- - - -结果 - - - - -
B B1 B2
一个
A1 1.0 2.0
A2 4.0 3.0
------查看索引------
Index([u'A1', u'A2'], dtype='object', name=u'A')
------查看标签------
追溯(最近一次通话):
文件 "test6.py",第 15 行,位于
打印 df_pivot.index.labels
AttributeError: 'Index' 对象没有属性 'labels'
'Groupby'的示例:
import pandas as pd
import numpy as np
raw_data = {'A' : ['A1', 'A1', 'A2', 'A2'],
'B': ['B1', 'B2', 'B2', 'B1'],
'QTY': [1., 2., 3., 4.],}
df = pd.DataFrame(raw_data)
#df_pivot = df.pivot(index='A', columns='B', values='QTY')
df_gb = df.groupby(['A','B']).agg({'QTY':'sum'})
print "-------Result---------"
print df_gb
print "------View Index------"
print df_gb.index
print "------View Label------"
print df_gb.index.labels
输出:
- - - -结果 - - - - -
数量
甲乙
A1 B1 1.0
B2 2.0
A2 B1 4.0
B2 3.0
------查看索引------
MultiIndex(levels=[[u'A1', u'A2'], [u'B1', u'B2']],
标签=[[0,0,1,1],[0,1,0,1]],
名字=[u'A', u'B'])
------查看标签------
[[0, 0, 1, 1], [0, 1, 0, 1]]
Index 似乎没有标签 attr,所以我必须添加 "isinstance( index, pd.Index)" 以应用不同的逻辑。
有谁知道如何解决从 Pivot 生成日期框时的问题"no attr='labels' under dataframe.index"?
请在下面找到两个示例,
第一个(数据透视表)return error 'index has no attr 'labels',
第二个('groupby' 数据框)有效。
'Pivot'的示例:
import pandas as pd
import numpy as np
raw_data = {'A' : ['A1', 'A1', 'A2', 'A2'],
'B': ['B1', 'B2', 'B2', 'B1'],
'QTY': [1., 2., 3., 4.],}
df = pd.DataFrame(raw_data)
df_pivot = df.pivot(index='A', columns='B', values='QTY')
print "-------Result---------"
print df_pivot
print "------View Index------"
print df_pivot.index
print "------View Label------"
print df_pivot.index.labels
输出:
- - - -结果 - - - - - B B1 B2 一个 A1 1.0 2.0 A2 4.0 3.0 ------查看索引------ Index([u'A1', u'A2'], dtype='object', name=u'A') ------查看标签------ 追溯(最近一次通话): 文件 "test6.py",第 15 行,位于 打印 df_pivot.index.labels AttributeError: 'Index' 对象没有属性 'labels'
'Groupby'的示例:
import pandas as pd
import numpy as np
raw_data = {'A' : ['A1', 'A1', 'A2', 'A2'],
'B': ['B1', 'B2', 'B2', 'B1'],
'QTY': [1., 2., 3., 4.],}
df = pd.DataFrame(raw_data)
#df_pivot = df.pivot(index='A', columns='B', values='QTY')
df_gb = df.groupby(['A','B']).agg({'QTY':'sum'})
print "-------Result---------"
print df_gb
print "------View Index------"
print df_gb.index
print "------View Label------"
print df_gb.index.labels
输出:
- - - -结果 - - - - - 数量 甲乙 A1 B1 1.0 B2 2.0 A2 B1 4.0 B2 3.0 ------查看索引------ MultiIndex(levels=[[u'A1', u'A2'], [u'B1', u'B2']], 标签=[[0,0,1,1],[0,1,0,1]], 名字=[u'A', u'B']) ------查看标签------ [[0, 0, 1, 1], [0, 1, 0, 1]]
Index 似乎没有标签 attr,所以我必须添加 "isinstance( index, pd.Index)" 以应用不同的逻辑。