Pandas DataFrame: Replace Specific Column Values Based on Condition
In a DataFrame, it's often necessary to replace specific values within a column based on a predefined condition. Consider the following DataFrame:
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1996 326 5 San Franciso 49ers 1950 1003
Suppose we need to replace all values greater than 1990 in the 'First Season' column with 1. To achieve this, the following command can be utilized:
df.loc[df['First Season'] > 1990, 'First Season'] = 1
This line selectively targets the 'First Season' column based on the condition specified in the square brackets (df['First Season'] > 1990). The = sign assigns the value 1 to the selected elements, ensuring that only the 'First Season' column is affected.
The resulting DataFrame will appear as follows:
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 1950 1003
It's important to note that the syntax for this operation involves two key components:
Furthermore, if the goal is to create a boolean indicator instead of replacing values, the condition can be used to generate a boolean Series, which can then be converted to integers by casting its dtype to int. This will transform True and False values into 1 and 0, respectively.
The above is the detailed content of How can I replace values in a specific Pandas DataFrame column based on a condition?. For more information, please follow other related articles on the PHP Chinese website!