基于索引为数据帧赋值

2024-04-19 01:43:57 发布

您现在位置:Python中文网/ 问答频道 /正文

dataframe

  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

我试着用一个循环来计算,但我不认为这种方法是最快的。我怎样才能更有效地完成这个任务?你知道吗


Tags: 方法dataframedfcolval乘积
2条回答

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']

相关问题 更多 >