根据 Pandas 中的条件更改值
此问题提出了一种情况,其中需要将 FirstName 和 LastName 两列中的特定值根据匹配特定值的 ID 列的条件进行修改。在 Stata 中,这可以使用简单的替换命令来实现。
在 Pandas(一个强大的用于数据操作的 Python 库)中,一种方法是利用具有索引功能的 loc 函数。这使得逻辑评估和随后的数据修改成为可能。例如:
<code class="python">import pandas as pd df = pd.read_csv("test.csv") df.loc[df.ID == 103, 'FirstName'] = "Matt" df.loc[df.ID == 103, 'LastName'] = "Jones"</code>
或者,可以一步完成对两列的赋值:
<code class="python">df.loc[df.ID == 103, ['FirstName', 'LastName']] = 'Matt', 'Jones'</code>
请注意,loc 覆盖赋值操作需要 Pandas 版本 0.11 或更高版本。对于旧版本,链式赋值是一个可行的解决方案:
<code class="python">df['FirstName'][df.ID == 103] = "Matt" df['LastName'][df.ID == 103] = "Jones"</code>
虽然在现代 Pandas 版本中通常应避免链式赋值,但为了与旧版本兼容,它仍然是一种需要注意的有用技术。
以上是如何根据条件修改 Pandas DataFrame 列中的特定值?的详细内容。更多信息请关注PHP中文网其他相关文章!