我知道这应该很简单但是在尝试转动时我一直都会遇到错误。我从psycopg2获取数据
cur.execute("select * from table")
arr=cur.fetchall()
pdres=pandas.DataFrame(arr, columns=['pricedate',hour', 'node','dart'])
pdres=pdres.set_index(['pricedate','hour','node'])
这是东西停止工作的地方......
pdres.pivot(index=['pricedate','hour'],columns='node',values='dart')
导致错误的项目数量达到720,放置意味着2
这让我this question导致我这样做
pandas.pivot_table(pdres, index=['pricedate','hour'], columns='node', values='dart')
这告诉我'没有要聚合的数字类型
这导致我http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.convert_objects.html,但我不确定它的正确语法(何时使用它),我甚至不知道我是否在正确的轨道上。
答案 0 :(得分:0)
有两项变化可以让它发挥作用:
set_index
convert_objects
。请使用astype
具体来说,以下工作:
cur.execute("select * from table")
arr = cur.fetchall()
pdres = pandas.DataFrame(arr, columns=['pricedate', 'hour', 'node', 'dart'])
pdres['dart'] = pdres['dart'].astype(float)
pdres = pandas.pivot_table(pdres, index=['pricedate','hour'], columns='node', values='dart')