[英]How to have create more than one header in pandas python?
在我的一生中,我无法弄清楚如何使用多索引或任何其他方式为一列制作多个垂直标题。 这是我的代码:
import pandas as pd
genderad = [['Prescribed Taking', 1458, 4404, 14, 'Prescribed Taking', 1558, 4270, 26], ['Prescribed Not Taking', 226, 781, 1, 'Prescribed Not Taking', 171, 523, 2], ['Not Prescribed', 2302, 6672, 35, 'Not Prescribed', 1899, 4330, 26]]
df = pd.DataFrame(genderad)
df = pd.DataFrame(genderad, columns = ['Medication Status', 'Male', 'Female', 'Z', 'Medication Status', 'Male', 'Female', 'Z'])
df
此代码将我带到此表: https ://i.stack.imgur.com/NRT0I.png
我想弄清楚的是如何在药物状态、男性、女性和 Z 的第一部分上方添加另一个标题为“抑郁”的标题,同时在药物状态的第二部分上方添加另一个标题为“焦虑”的标题、男性、女性和 Z。
否则,如果可能的话,我可以让现有的标题只是表格的一部分,如果可能的话合并? 前四行和标题为抑郁症并与其他四行相同,只是将其标记为焦虑症?
我非常感谢我能得到的任何帮助,因为我对熊猫很陌生。 谢谢。
您想对列使用 MultiIndex:
columns = pd.MultiIndex.from_product((['Depression', 'Anxiety'],
['Medication Status', 'Male', 'Female', 'Z']))
df = pd.DataFrame(genderad, columns=columns)
它为print(df.to_string())
提供:
Depression Anxiety
Medication Status Male Female Z Medication Status Male Female Z
0 Prescribed Taking 1458 4404 14 Prescribed Taking 1558 4270 26
1 Prescribed Not Taking 226 781 1 Prescribed Not Taking 171 523 2
2 Not Prescribed 2302 6672 35 Not Prescribed 1899 4330 26
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.