Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menilai Ungkapan Secara Dinamik dalam Panda Menggunakan pd.eval(), DataFrame.eval(), dan DataFrame.query()?
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!