Python转置sqlite表
我有一个sqlite数据库,其表组织如下: 项目数据Python转置sqlite表,python,sqlite,pandas,Python,Sqlite,Pandas,我有一个sqlite数据库,其表组织如下: 项目数据 date_time | item_code | value 3/13/2015 12:23 | fridge21 | 345.45 3/13/2015 12:23 | heater12 | 12.34 3/13/2015 12:23 | fan02 | 63.78 3/13/2015 12:24 | fridge21 | 345.47 我希望检索itemdata表中的数据,如下所示: date_time | fr
date_time | item_code | value
3/13/2015 12:23 | fridge21 | 345.45
3/13/2015 12:23 | heater12 | 12.34
3/13/2015 12:23 | fan02 | 63.78
3/13/2015 12:24 | fridge21 | 345.47
我希望检索itemdata表中的数据,如下所示:
date_time | fridge21 | heater12 | fan02
3/13/2015 12:23 | 345.45 | 12.34 | 63.78
3/13/2015 12:24 | 345.47 | 12.45 | 63.23
我试过:
conn = sqlite3.connect(DB_NAME)
sql = "SELECT * FROM {0}".format(table_name)
df = pd.read_sql_query(sql, conn)
df1 = pd.DataFrame(df.values.T, columns=df.columns)
但我不想完全转置itemdata表(它有1x10^6行和3列),我只想根据上面所需的输出创建一个唯一的item_code列
有关如何执行此操作的任何提示?对加载sqllite表的原始数据帧使用
pivot
:
df.pivot('date_time', 'item_code', 'value')
对加载sqllite表的原始数据帧使用
pivot
:
df.pivot('date_time', 'item_code', 'value')
这看起来是在正确的轨道上。然而,我在df上得到了一个索引器。pivot(…)ValueError:索引包含重复的条目,无法重塑,df上有一个typeerror。pivot_table(…)typeerror:pivot_table()为参数“values”得到了多个值。我在这里测试了试用数据,您的解决方案工作正常,因此我的数据一定有问题如果您在给定轴上有重复,您也可以考虑使用PIVOTHOLT表:该函数将给您更多的参数,如AgFunc来聚合DUPE数据,并对其进行操作,这看起来是在正确的轨道上。然而,我在df上得到了一个索引器。pivot(…)ValueError:索引包含重复的条目,无法重塑,df上有一个typeerror。pivot_table(…)typeerror:pivot_table()为参数“values”得到了多个值。我在这里测试了试用数据,您的解决方案工作正常,因此我的数据一定有问题如果您在给定轴上有重复,您还可以考虑使用PIVOTHOLT表:该函数将给您更多的参数,如AgFunc来聚合DUPE数据,并在数据库中运行多个唯一项,这样就可以运行一个条件聚合查询,这是一种经典的方法来旋转SQL数据?@ PaFaIT只有50个唯一的项目,所以可以很好地工作,但聚合查询似乎是针对avg、count等对象的,在这种情况下您将如何应用?数据库中有多少唯一项可以运行条件聚合查询,这是透视SQL数据的经典方法?@Parfait只有50个唯一项,因此可以正常工作,但聚合查询似乎是针对avg、count、,在这种情况下你会如何申请?