Menilai Ungkapan Secara Dinamik daripada Formula dalam Panda
Dalam panda, terdapat pelbagai cara untuk menilai secara dinamik ungkapan daripada formula:
1. pd.eval()
Fungsi ini menilai ungkapan aritmetik menggunakan rentetan sebagai input. Ia menyokong operasi matematik, pengendali logik dan pernyataan bersyarat. Anda boleh menggunakannya seperti berikut:
expression = "df1['A'] + (df1['B'] * x)" pd.eval(expression)
2. DataFrame.eval()
Sama seperti pd.eval(), kaedah ini menilai ungkapan dalam DataFrame. Ia menyediakan cara yang mudah untuk mengakses lajur tanpa menyatakan "df1." awalan.
df1.eval("A + (B * x)")
3. DataFrame.query()
Fungsi ini menilai ungkapan bersyarat dan mengembalikan topeng boolean. Anda kemudiannya boleh menggunakan topeng untuk menapis DataFrame.
condition = "A >= B" df1.query(condition)
Jawapan kepada Soalan Khusus:
Menetapkan hasil: Anda boleh menetapkan hasil ungkapan kembali ke DataFrame menggunakan "target=" hujah.
df2 = pd.DataFrame() pd.eval("df2['D'] = df1['A'] + (df1['B'] * x)", target=df2)
Meluluskan hujah: Anda boleh menghantar argumen sebagai pembolehubah dalam ungkapan menggunakan simbol "@".
expression = "df1['A'] + (@x * df1['B'])" pd.eval(expression, local_dict={"x": 5})
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Menilai Ungkapan Secara Dinamik dalam Panda Menggunakan pd.eval(), DataFrame.eval(), dan DataFrame.query()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!