我从两个数据框开始 - 一个填充了一周中某天的虚拟变量,另一个填充了一天中的某个小时的虚拟变量(HE - 小时结束)。
df1 = 星期几 = nxm,其中 n 是观察次数,m 是 6:
Mon Tue Wed Thu Fri Sat
0 1 0 0 0 0 0
1 0 1 0 0 0 0
2 0 0 1 0 0 0
3 0 0 0 1 0 0
df2 = 一天中的小时数 = nxl,其中 n 是 obs 的数量,m 是 23:
HE1 HE2 HE3 HE4 HE5 ... HE22 HE23
0 1 0 0 0 0 ... 0 0
1 0 1 0 0 0 ... 0 0
2 0 0 1 0 0 ... 0 0
3 0 0 0 1 0 ... 0 0
我想创建一个尺寸为 nx(m 乘以 l)的新 df,其中 m 乘以 l = 6*23 = 138:
MonHE1 MonHE2 MonHE3 MonHE4 MonHE5 ... SatHE22 SatHE23
0 1 0 0 0 0 ... 0 0
1 0 1 0 0 0 ... 0 0
2 0 0 1 0 0 ... 0 0
3 0 0 0 1 0 ... 0 0
我成功了:
hoursXdays = pd.DataFrame()
Mon = hours.multiply(days['Mon'],axis='index').add_prefix('Mon')
Tue = hours.multiply(days['Tue'],axis='index').add_prefix('Tue')
Wed = hours.multiply(days['Wed'],axis='index').add_prefix('Wed')
Thu = hours.multiply(days['Thu'],axis='index').add_prefix('Thu')
Fri = hours.multiply(days['Fri'],axis='index').add_prefix('Fri')
Sat = hours.multiply(days['Sat'],axis='index').add_prefix('Sat')
hoursXdays = pd.concat([Mon, Tue, Wed, Thu, Fri, Sat],axis=1)
我将需要为更多的 dfs 执行此操作,而不仅仅是这几个。如果有任何方法可以概括这一点,我将不胜感激。
基本上,pandas 有没有办法将两个数据帧的维度 nxm、nxl 相乘,以生成维度为 nx(m 乘以 l)的新 df?
慕姐8265434
婷婷同学_
随时随地看视频慕课网APP
相关分类