動態計算Pandas 中公式的表達式
在pandas 中,有多種方法可以動態計算公式中的表達式:
1。 pd.eval()
此函數使用字串作為輸入來計算算術表達式。它支援數學運算、邏輯運算子和條件語句。您可以如下使用它:
expression = "df1['A'] + (df1['B'] * x)" pd.eval(expression)
2. DataFrame.eval()
與pd.eval() 類似,此方法計算DataFrame 中的表達式。它提供了一種無需指定“df1”即可存取列的便捷方法。前綴。
df1.eval("A + (B * x)")
3. DataFrame.query()
此函數計算條件表達式並傳回布林遮罩。然後,您可以使用遮罩來過濾 DataFrame。
condition = "A >= B" df1.query(condition)
特定問題的答案:
指派結果:您可以使用「target=」將表達式的結果指派回 DataFrame參數。
df2 = pd.DataFrame() pd.eval("df2['D'] = df1['A'] + (df1['B'] * x)", target=df2)
傳遞參數:您可以使用「@」符號將參數作為表達式中的變數傳遞。
expression = "df1['A'] + (@x * df1['B'])" pd.eval(expression, local_dict={"x": 5})
其他注意事項:
以上是如何使用 pd.eval()、DataFrame.eval() 和 DataFrame.query() 動態計算 Pandas 中的表達式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!