Python 根据索引为数据帧分配值
具有Python 根据索引为数据帧分配值,python,pandas,Python,Pandas,具有数据帧的 col 1 1 2 2 3 3 还有另一个dataframe,我需要在这里输入上一个df的计算值。val列是值与索引的乘积 i j val 1 1 1 1 2 2 1 3 3 2 1 2 2 2 4 2 3 6 3 1 3 3 2 6 3 3 9 我试着用一个循环来计算,但我不认为这个方法是最快的。如何才能以更有效的方式完成此任务?IIUC df2 = pd.Dat
数据帧的
col
1 1
2 2
3 3
还有另一个dataframe
,我需要在这里输入上一个df
的计算值。val列是值与索引的乘积
i j val
1 1 1
1 2 2
1 3 3
2 1 2
2 2 4
2 3 6
3 1 3
3 2 6
3 3 9
我试着用一个循环来计算,但我不认为这个方法是最快的。如何才能以更有效的方式完成此任务?IIUC
df2 = pd.DataFrame(index=pd.MultiIndex.from_product([df.index, df.col])).reset_index()
df2.columns = ['i', 'j']
df2['val'] = df2.i * df2.j
df2
Out[45]:
i j val
0 1 1 1
1 1 2 2
2 1 3 3
3 2 1 2
4 2 2 4
5 2 3 6
6 3 1 3
7 3 2 6
8 3 3 9
我建议:
df2['i'] = df.index
df2['j'] = df.col
df2['val'] = df2['j'] * df2['i']
是否希望第一个数据帧创建i
和j
的组合?@residentsleep是的,第一个DF应获得第二个DF的值