如何使用「pd.eval」評估 Pandas 中的算術表達式?
Dynamically Evaluating Expressions from Formulas in Pandas
Challenge
Evaluate arithmetic expressions using pd.eval on one or more DataFrame columns, as shown in the following example:
x = 5 df2['D'] = df1['A'] + (df1['B'] * x)
pd.eval Functions
pd.eval, df.eval, and df.query are three closely related functions for evaluating expressions in Pandas. Each has its own subtle variations, but they all follow similar syntax rules and feature support.
Supported Features:
- Arithmetic operations
- Comparison operations
- Boolean operations
- List and tuple literals
- Attribute access
- Subscript expressions
- Simple variable evaluation
Syntax Rules:
Expressions must be passed as strings, with the following guidelines:
- Entire expression is a string
- Variables in the global namespace are referenced by their names
- Specific columns are accessed through attribute accessor
- Parentheses can be used to override operator precedence
Key Differences
pd.eval vs. df.eval
- Column Access: pd.eval requires column names with DataFrame indexing, while df.eval allows direct access to column names.
- Expressions with DataFrames: pd.eval is better for dataframe-wide operations, while df.eval operates on specific DataFrames.
df.eval vs. df.query
- Querying vs. Evaluation: df.query evaluates conditional expressions and returns matching rows. df.eval returns the result of the expression itself.
- Convenience: df.query is generally more concise for querying purposes.
Solution
To solve the original challenge using pd.eval:
x = 5 pd.eval("df1.A + (df1.B * x)")
Reassignment
To assign the result of the expression back to df2, use the target parameter:
pd.eval("D = df1.A + (df1.B * x)", target=df2)
Passing Arguments Inside the Expression
To pass x as an argument within the expression string, use the @ symbol:
pd.eval("df1.A + (df1.B * @x)", local_dict={'x': x})
以上是如何使用「pd.eval」評估 Pandas 中的算術表達式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

攻克Investing.com的反爬蟲策略許多人嘗試爬取Investing.com(https://cn.investing.com/news/latest-news)的新聞數據時,常常�...

Python3.6環境下加載pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

使用Scapy爬蟲時管道文件無法寫入的原因探討在學習和使用Scapy爬蟲進行數據持久化存儲時,可能會遇到管道文�...
