熊猫DataFrame按数组相乘

数据框


A B C

1 2 3

2 4 6

array = [1,10,100]

结果:


A   B   C

1   2   3

2   4   6

10  20  30

20  40  60

100 200 300

200 400 600

数组和数据帧的长度可以是任何大小,不一定相同。


我已经使用 FOR 循环,如果我有大数据框或太多数据框,它会太慢。


下面是我的示例片段:


for i in array:

    pr[pr.select_dtypes(include=['number']).columns] *= i

    fdf = np.concat([fdf,pr],axis=0)

有没有更快的方法来做到这一点。我正在处理多个数据帧,在此操作之后需要将其连接起来。


PIPIONE
浏览 285回答 2
2回答

GCT1015

mult = df.values * np.array([1,10,100])[:, np.newaxis, np.newaxis]pd.DataFrame(mult.reshape((-1, 3)), columns=df.columns)     A    B    C0    1    2    31    2    4    62   10   20   303   20   40   604  100  200  3005  200  400  600
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python