2016-06-29 27 views
7

Bir panda veri dizisinin her bir satırını farklı bir değerle çoğaltmaya çalışıyorum ve bunu yapmanın en iyi yolunun ne olduğunu merak ediyorum.pandalar veri çerçevesindeki her satırın farklı bir değerle nasıl çarpılacağı

Örneğin aşağıdaki dataframe varsa:

import numpy as np 
import pandas as pd 
df = pd.DataFrame(np.random.randn(2, 3)) 
df 
    0   1   2 
0 -1.283316 0.849488 1.936060 
1 -2.078575 -0.871570 -0.970261 

I her isteyen Bu örnekte, bir liste ya da dizi

vals = [1, 100] 

farklı her sıranın her öğe çarpmak istiyorum ilk satırdaki öğenin 1 ile çarpılması ve ikinci satırdaki her öğenin 100

ile çarpılması sonucunda sonuç şu şekilde olmalıdır:

 0   1   2 
0 -1.283316 0.849488 1.936060 
1 -207.8575 -87.1570 -97.0261 

denedim: Onları da beklemiyordum rağmen hangi işin

df * vals 
df.multiply(vals) 
df.multiply(vals, axis=1) 

Yok, bu kod ne yapması gerektiğini benim anlayışa dayalı. Bunu pandalarla yapmanın özlü bir yolunu anlayamıyorum, herhangi bir yardım takdir edilir, teşekkürler.

cevap

8

yöntem mul geçerli:

df.mul([1, 100], axis=0) 
Out[17]: 
      0   1   2 
0 -1.198766 -1.340028 1.990843 
1 113.890468 -68.177755 -9.060228 
+0

vay Ah, benim arama tümünde olduğu rastlamadım inanamıyorum. Teşekkürler – johnchase

+0

Rica ederim. :) – ayhan

İlgili konular