1
저는 python 3 및 pandas를 처음 사용합니다. 값이 기존의 두 열 사이의 차이 인 데이터 프레임에 새 열을 추가하려고했습니다. 나의 현재 코드 :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내 코드 작업을 어떻게 만들 수 있습니까?
도움 주셔서 감사합니다. 당신은 행에 의해 프로세스 axis=1
와 DataFrame.apply
만 DataFrame
에 대한 y
필요
답장을 보내 주셔서 감사합니다. 실제로 작동한다. 이 경우 x가 나타내는 것을 물어봐도 될까요? 그것은 y의 각 행을 의미합니까? – derec
정확히,'axis = 1'이기 때문에 각 행입니다. 'axis = 0'의 경우는, 각 열입니다. – jezrael