过滤pandas数据透视表
我试图通过SQL查询为Pandas提供一些数据,然后将旋转结果保存到.csv文件中。 到目前为止我已经成功了。
import cx_Oracle import pandas as pd query = """ SELECT dt, --Workstack, GM, COUNT(JOB_NUMBER) FROM MY_TABLE GROUP BY dt, --Workstack, GM """ connection = cx_Oracle.connect("<My_Username>", "<My Password>", "<Database String>") df = pd.read_sql_query(query, connection) piv = df.pivot(index='GM', columns='DT', values='COUNT') print (piv.head()) piv.to_csv('''Workstack.csv''')
现在我希望包含查询variables中使用的“Workstack”字段,并且还希望使用“pandas”过滤不同string的字段“工作包”,然后将其粘贴为不同的csv文件或在同一个Excel文件中。 但是,当我在查询中包括工作堆python给了我这个错误…
ValueError: Index contains duplicate entries, cannot reshape
任何想法如何解决这个问题? 最终,我想要使用python Excel模块将上面的数据透视表粘贴到不同的单元格和工作表上。
感谢🙂
尝试使用聚合函数的pivot_table
:
piv = df.pivot_table(index='GM', columns='DT', values='COUNT', aggfunc='sum')
import cx_Oracle import pandas as pd query = """SELECT * FROM MY_TABLE""" print('Loading Query') connection = cx_Oracle.connect("Username", "Password", "Data Connection") df = pd.read_sql_query(query, connection) PivotTable = df.loc[df['ColumnName'] == "ValueinColumn"].pivot_table(index='SelectRows', columns='SelectColumns', values='SelectValues', aggfunc='SelectAggregation') print ("Writing to Excel") ExcelWorkbook = pd.ExcelWriter('Data.xlsx') PivotTable.to_excel(ExcelWorkbook, sheet_name='PivotTable', startrow=1) ExcelWorkbook.save() print ("Closing Connection") connection.close() print('Section Complete')
- 如何使用Java中的Apache POI库对数据透视表数据进行sorting
- Excel数据透视表问题 – 如何获得行区域字段的小计?
- Excel / PowerPivot数据透视表中按列标签过滤的Top X
- Apache POI XSSFPivotTable setDefaultSubtotal
- 使用多个字段和不分组的Excel数据透视表sorting
- 我可以在Excel 2007数据透视表中创build自定义摘要字段吗?
- excel数据透视表 – 在列中计算certan值的外观
- 使用adologging集到Excel中的数据透视问题
- excel vba – 如何将数据透视表中的所有字段复制到同一工作表中的其他单元格