2

列 0 を列 1 と列 2 で除算しようとしています。以下から、10 行 3 列のデータフレームを返したいと思います。最初の列はすべて 1 でなければなりません。代わりに、10x10 データフレームを取得します。私は何を間違っていますか?

data = np.random.randn(10,3)
df = pd.DataFrame(data)

df[0] / df
4

2 に答える 2

2

最初に、すべての列が最初の列に等しい 10 x 3 の DataFrame を作成し、それを DataFrame で分割する必要があります。

df[[0, 0, 0]] / df.values

また

df[[0, 0, 0]].values / df

列名を保持したい場合。

(.values列の値が重複しているために失敗する再インデックスを避けるために使用します。)

于 2013-09-13T13:38:05.663 に答える
1

Series の次元を DataFrame の行と一致させる必要があります。これを行うにはいくつかの方法がありますが、私は転置を使用するのが好きです。

    data = np.random.randn(10,3)
    df = pd.DataFrame(data)

    (df[0] / df.T).T

       0          1         2
    0  1  -0.568096 -0.248052
    1  1  -0.792876 -3.539075
    2  1 -25.452247  1.434969
    3  1  -0.685193 -0.540092
    4  1   0.451879 -0.217639
    5  1  -2.691260 -3.208036
    6  1   0.351231 -1.467990
    7  1   0.249589 -0.714330
    8  1   0.033477 -0.004391
    9  1  -0.958395 -1.530424
于 2013-09-15T18:49:07.150 に答える