2017-09-05 4 views
1

私はIris datasetのパンダデータフレームを作成しました。追加の4列を入れたいと思います。列の内容は、SepalRatio、PetalRatio、SepalMultiplied、PetalMultipliedでなければなりません。この4つの列を追加するためにDataFrameのassign()関数を使用しましたが、DataFrameはsamenのままです。pandas dataframe assignはデータフレームを更新しません

列を追加するには私のコードは次のとおりです。

iris.assign(SepalRatio = iris['SepalLengthCm']/`iris['SepalWidthCm']).assign(PetalRatio = iris['PetalLengthCm']/iris['PetalWidthCm']).assign(SepalMultiplied = iris['SepalLengthCm'] * iris['SepalWidthCm']).assign(PetalMultiplied = iris['PetalLengthCm'] * iris['PetalWidthCm'])` 

Jupyterノートブックで正しいテーブルを実行する場合が示されているが、私はprint文を使用する場合は4列が追加されていません。 Jupyterノートで

出力:データフレームを印刷した後

Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species SepalRatio PetalRatio SepalMultiplied PetalMultiplied 
0 1 5.1 3.5 1.4 0.2 Iris-setosa 1.457143 7.000000 17.85 0.28 
1 2 4.9 3.0 1.4 0.2 Iris-setosa 1.633333 7.000000 14.70 0.28 
2 3 4.7 3.2 1.3 0.2 Iris-setosa 1.468750 6.500000 15.04 0.26 
3 4 4.6 3.1 1.5 0.2 Iris-setosa 1.483871 7.500000 14.26 0.30 
4 5 5.0 3.6 1.4 0.2 Iris-setosa 1.388889 7.000000 18.00 0.28 
5 6 5.4 3.9 1.7 0.4 Iris-setosa 1.384615 4.250000 21.06 0.68 
6 7 4.6 3.4 1.4 0.3 Iris-setosa 1.352941 4.666667 15.64 0.42 
7 8 5.0 3.4 1.5 0.2 Iris-setosa 1.470588 7.500000 17.00 0.30 
8 9 4.4 2.9 1.4 0.2 Iris-setosa 1.517241 7.000000 12.76 0.28 
9 10 4.9 3.1 1.5 0.1 Iris-setosa 1.580645 15.000000 15.19 0.15 

が出力:

 Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm \ 
0  1   5.1   3.5   1.4   0.2 
1  2   4.9   3.0   1.4   0.2 
2  3   4.7   3.2   1.3   0.2 
3  4   4.6   3.1   1.5   0.2 
4  5   5.0   3.6   1.4   0.2 
5  6   5.4   3.9   1.7   0.4 
6  7   4.6   3.4   1.4   0.3 
7  8   5.0   3.4   1.5   0.2 
8  9   4.4   2.9   1.4   0.2 
9  10   4.9   3.1   1.5   0.1 

      Species 
0  Iris-setosa 
1  Iris-setosa 
2  Iris-setosa 
3  Iris-setosa 
4  Iris-setosa 
5  Iris-setosa 
6  Iris-setosa 
7  Iris-setosa 
8  Iris-setosa 
9  Iris-setosa 

答えて

1

あなたが好き出力を変数に割り当てる必要があります。それは、このような基本的な質問です

iris = iris.assign(SepalRatio = iris['SepalLengthCm']/iris['SepalWidthCm']).assign(PetalRatio = iris['PetalLengthCm']/iris['PetalWidthCm']).assign(SepalMultiplied = iris['SepalLengthCm'] * iris['SepalWidthCm']).assign(PetalMultiplied = iris['PetalLengthCm'] * iris['PetalWidthCm']) 
+1

...なぜそれを偽装として閉じないのですか? –

+0

シンプルだが、時にはコーダーはこれの解決策を見つけるために30分を費やす...私は時々、二重引用符を探しているが、それは容易に欺瞞を見つけることはできません、より速く作成する答えです。 – jezrael

関連する問題