Python 3.x 包含N个父列标题下的相同列标题子集
我正在尝试将一个大小为52x40的2d数组制作成一个52x40的数据帧,但只有10个列标题。在下面的示例中,假设一个大小为52x30的数据帧有10列标题,每个标题包含3列 我一直在看熊猫的文档 以及其他类似的问题修复,虽然根本不太相似,但仍然尝试过并失败了 有人知道怎么做吗? 现在,我能做的最接近的实现是接收52x40数据帧,但列标题在同一天是4次,然后第二天重复4次,然后下一天等等。。。直到完成10天。 Ie:总共40列Python 3.x 包含N个父列标题下的相同列标题子集,python-3.x,pandas,Python 3.x,Pandas,我正在尝试将一个大小为52x40的2d数组制作成一个52x40的数据帧,但只有10个列标题。在下面的示例中,假设一个大小为52x30的数据帧有10列标题,每个标题包含3列 我一直在看熊猫的文档 以及其他类似的问题修复,虽然根本不太相似,但仍然尝试过并失败了 有人知道怎么做吗? 现在,我能做的最接近的实现是接收52x40数据帧,但列标题在同一天是4次,然后第二天重复4次,然后下一天等等。。。直到完成10天。 Ie:总共40列 final_logic_table = pd.DataFrame(fin
final_logic_table = pd.DataFrame(final_logic_table, index=[nurseData.importShift.columns], columns=[dates]);
final_logic_table.set_index(numpy.unique(dates));
final_logic_table.sort_index(inplace=True);
以下是我努力实现的目标:
]我认为需求是由以下因素造成的:
编辑:啊,原谅我。似乎我在将列索引设置为2d vs 1d数组时犯了一个错误。@RobRen-是的,这样可以使用多索引。你还需要什么吗?我很感谢你的帮助!非常感谢。改变了你的方法,但效果很好。
np.random.seed(1256)
dates = pd.date_range('2018-01-12', periods=10)
c= pd.MultiIndex.from_product([dates, ['Morning','Afternoon','Night']])
df = pd.DataFrame(np.random.randint(10, size=(52,30)), columns=c)
print (df.head())
2018-01-12 2018-01-13 2018-01-14 \
Morning Afternoon Night Morning Afternoon Night Morning Afternoon
0 1 5 8 8 9 3 6 3
1 0 7 2 8 2 4 8 3
2 6 9 4 2 8 7 1 6
3 1 8 9 1 6 3 4 9
4 7 8 7 0 6 3 0 2
2018-01-15 ... 2018-01-18 2018-01-19 2018-01-20 \
Night Morning ... Night Morning Afternoon Night Morning
0 0 6 ... 4 9 4 6 1
1 5 5 ... 2 4 7 4 0
2 3 2 ... 3 2 4 1 5
3 1 3 ... 0 2 1 3 7
4 0 7 ... 8 2 1 5 0
2018-01-21
Afternoon Night Morning Afternoon Night
0 7 7 5 8 3
1 4 9 6 0 4
2 4 9 5 2 4
3 4 8 1 0 2
4 3 9 1 7 1
[5 rows x 30 columns]