我有以下来自 Microsoft 表单的数据框,我正在使用 Python 从 Sharepoint 站点下载它,我需要保存到我们的本地数据库以供进一步分析。
输入DF:
ID Q1 Q2 QN
1 1 1 0
2 1 1 1
3 0 0 1
4 0 1 0
请注意,目前有 50 多列和数百行,但随着时间的推移会增加。
在将数据发送到 SQL Server 之前,我想转置数据帧,以便对其进行标准化以用于数据库存储。我想得到的输出如下:
输出DF:
ID Question Answer
1 Q1 1
1 Q2 1
1 QN 0
2 Q1 1
2 Q2 1
2 QN 1
3 Q1 0
3 Q2 0
3 QN 1
4 Q1 0
4 Q2 1
4 QN 0
我知道通过简单地使用 df.TI 将列转换为行不会获得太多;任何人都可以请解决一些可能的方法吗?即使使用简单的 Python 列表/字典或其他任何东西,也不一定需要用 Pandas 处理。谢谢
您可以使用melt
:
df_new = df.set_index("ID").melt(var_name="Question", value_name="Answer", ignore_index=False).sort_index()
输出:
Question Answer
ID
1 Q1 1
1 Q2 1
1 QN 0
2 Q1 1
2 Q2 1
2 QN 1
3 Q1 0
3 Q2 0
3 QN 1
4 Q1 0
4 Q2 1
4 QN 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句