は、私はこのように、関数から返された値にデータフレームに列を追加し、その値を更新することができます理解:しかしデータフレーム内の列を反復処理し、2つの新しい列を同時に更新する方法はありますか?
df=pd.DataFrame({'x':[1,2,3,4]})
def square(x):
return x*x
df['x_squared'] = [square(i) for i in df['x']]
、私は実際の関数は、2つのアイテムを返しているという問題に直面しています、これらの2つの項目を2つの異なる新しい列に入れたいと思います。私はより明確に私の問題を記述するために、ここで疑似コードを書いた:
df=pd.DataFrame({'x':[1,2,3,4]})
def squareAndCube(x):
return x*x, x*x*x
#below is a pseudo-code
df['x_squared'], df['x_cubed'] = [squareAndCube(i) for i in df['x']]
上記のコードは私に「解凍するためにあまりにも多くの値を」というエラーメッセージを与えます。 これをどのように修正する必要がありますか?
素晴らしい答え@Divakar、1 – piRSquared
はところで放送は私のlog_dotソリューションよりWAY1 !! 1高速です。 – piRSquared
これは本当に素晴らしい答えです!私はこの 'squareAndCube()'関数を使って問題を解決しました。私の本当の問題は、アドレスを入力として使用して緯度と経度を返す必要があることです。最後に 'map'と' zip'メソッドを選びました。しかし、いくつかの他の方法があることを知ることは本当に素晴らしいことです!ありがとう@Divakar。 – user3768495