1
を適用します私は欲しかった:パンダは、私はこのようなデータフレームを持つ新しい列
c1 c2 c3
0 1 3 NaN
1 2 P 1.0
2 4 N 3.0
3 5 T 5.0
私は同じ結果を得るために
apply
機能を使用したい
df1=df[df.c2 == 'P']
df1['c3'] =1
df2=df[df.c2 == 'N']
df2['c3'] =3
df3=df[df.c2 == 'T']
df3['c3'] =5
df4=df[(df.c2 != 'N') & (df.c2 != 'P') & (df.c2 != 'T')]
new_df=pandas.concat([df1,df2,df3,df4]).reset_index()
new_df[['c1','c2','c3']]
:
私はこの結果を得るためにconcat
を使用しています。私はnew_col
機能を変更する方法
def new_col(x,df):
if x== 'P':
df['c3'] = 1
elif x == 'N':
df['c3'] = 3
elif x == 'T':
df['c3'] =5
else:
df['c3']=np.nan
df.c2.apply(new_col,df=df)
df
:私はapply
機能を使用するとき、私はいつも全体c3
列を置き換えますか?