我试图在sql中获取一堆数据,其结果集如下:
Name Skillset Point
1 Student A Jump 5
2 Student A Run 5
3 Student A Walk 5
4 Student B Jump 2
5 Student B Run 2
6 Student B Walk 2
我想获得技能组并在python中将它们作为列,但我不确定如何动态地执行它预期的输出将是这样的:
Name Jump Run Walk
1 Student A 5 5 5
4 Student B 2 2 2
我不确定这是否可以在SQL中完成,但我想知道这在编程方面是否更容易在python中完成。感谢任何建议,帮助,提示。谢谢。
答案 0 :(得分:0)
Pandas非常适合数据转换。
您可以使用pandas.read_sql_query将数据读取到DataFrame,然后转换DataFrame
import pandas as pd
df = pd.read_sql_query('''select * from your_table''', sql_connection)
print(df.set_index(['Name', 'Skillset']).unstack())