1
私はpython 3とpandasを初めて使用しています。私は値が2つの既存の列の違いであるデータフレームに新しい列を追加しようとしました。 私の現在のコードは次のとおりapply()関数を使用して新しい列に新しい値を生成する
import pandas as pd
import io
from io import StringIO
x="""a,b,c
1,2,3
4,5,6
7,8,9"""
with StringIO(x) as df:
new=pd.read_csv(df)
print (new)
y=new.copy()
y.loc[:,"d"]=0
# My lambda function is completely wrong, but I don't know how to make it right.
y["d"]=y["d"].apply(lambda x:y["a"]-y["b"], axis=1)
所望の出力である
ABCD
1 2 3 -1
4 5 6 -1
7 8 9 -1
私のコードをどのように動作させることができるのでしょうか?
ありがとうございました。
ご返信ありがとうございました。それは実際に動作します。この場合、xが何を表しているか尋ねてもいいですか?それはyの各行を意味するのでしょうか? – derec
正確には、 'axis = 1'のため、各行にあります。 'axis = 0'なら、それはそれぞれの列です。 – jezrael