私は次のようなデータフレームを持っています:
X Y Corr_Value
0 51182 51389 1.00
1 51182 50014 NaN
2 51182 50001 0.85
3 51182 50014 NaN
私はの値で構成され、新しい列を作成したいX
とY
列を。アイデアは行をループすることです。Corr_Value
がnullでない場合、新しい列には次のように表示されます。
Solving (X column value) will solve (Y column value) at (Corr_value column)% probability.
たとえば、最初の行の結果は次のようになります。
Solving 51182 will solve 51389 with 100% probability.
これは私が書いたコードです:
dfs = []
for i in df1.iterrows():
if ([df1['Corr_Value']] != np.nan):
a = df1['X']
b = df1['Y']
c = df1['Corr_Value']*100
df1['Remarks'] = (f'Solving {a} will solve {b} at {c}% probability')
dfs.append(df1)
df1
保存するデータフレームでX
、Y
かつCorr_Value
データが。
しかし、私が得る結果は次のようになっているため、問題があるようです。
しかし、結果は次のようになります。
あなたが私が望ましい結果を得るのを手伝ってくれるなら、それは素晴らしいことです。
DataFrame.dropna
欠落している行を削除しf-string
、カスタム出力文字列にsを適用するために使用しますDataFrame.apply
。
f = lambda x: f'Solving {int(x["X"])} will solve {int(x["Y"])} at {int(x["Corr_Value"] * 100)}% probability.'
df['Remarks'] = df.dropna(subset=['Corr_Value']).apply(f,axis=1)
print (df)
X Y Corr_Value Remarks
0 51182 51389 1.00 Solving 51182 will solve 51389 at 100% probabi...
1 51182 50014 NaN NaN
2 51182 50001 0.85 Solving 51182 will solve 50001 at 85% probabil...
3 51182 50014 NaN NaN
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加