在Pandas DataFrame中应用if条件的方法

在Pandas DataFrame中应用if条件的方法

让我们来讨论一下在pandas中对数据帧应用If条件的不同方式。

1)对数字应用IF条件
让我们创建一个有5个数字(比如从51到55)的Pandas数据框架。让我们对以下情况应用IF条件。如果特定的数字等于或低于53,则赋值为’真’。否则,如果该数字大于53,则赋值为 “假”。

语法:

df.loc[df[‘column name’] condition, ‘new column name’] = ‘value if condition is met’ 

示例:

from pandas import DataFrame
 
numbers = {'mynumbers': [51, 52, 53, 54, 55]}
df = DataFrame(numbers, columns =['mynumbers'])
 
df.loc[df['mynumbers'] <= 53, '<= 53'] = 'True'
df.loc[df['mynumbers'] > 53, '<= 53'] = 'False'
 
df

输出:

在Pandas DataFrame中应用if条件的方法

2)应用带有lambda的IF条件
让我们创建一个有5个数字(比如从51到55)的Pandas数据框架。让我们对以下情况应用IF条件。如果特定的数字等于或低于53,则赋值为’真’。否则,如果该数字大于53,则赋值为 “假”。

语法:

df[‘new column name’] = df[‘column name’].apply(lambda x: ‘value if condition is met’ if x condition else ‘value if condition is not met’)   

示例:

from pandas import DataFrame
 
numbers = {'mynumbers': [51, 52, 53, 54, 55]}
df = DataFrame(numbers, columns =['mynumbers'])
 
df['<= 53'] = df['mynumbers'].apply(lambda x: 'True' if x <= 53 else 'False')
 
print (df)

输出:

在Pandas DataFrame中应用if条件的方法

3)对字符串应用IF条件
我们将处理一个只包含5个名字的字符串的DataFrame。Hanah, Ria, Jay, Bholu, Sachin。条件是。如果名字等于’Ria’,则赋值为’Found’。否则,如果名字不是 “Ria”,则赋值为 “未找到”。

示例:

from pandas import DataFrame
 
names = {'First_name': ['Hanah', 'Ria', 'Jay', 'Bholu', 'Sachin']}
df = DataFrame(names, columns =['First_name'])
 
df.loc[df['First_name'] == 'Ria', 'Status'] = 'Found' 
df.loc[df['First_name'] != 'Ria', 'Status'] = 'Not Found'
 
print (df)

输出:

在Pandas DataFrame中应用if条件的方法

4)使用lambda在字符串上应用IF条件
我们将处理一个只包含5个名字的字符串的DataFrame。Hanah, Ria, Jay, Bholu, Sachin。条件是。如果名字等于’Ria’,则赋值为’Found’。否则,如果名字不是 “Ria”,则赋值为 “未找到”。但这次我们将使用lambdas来处理它。

示例

from pandas import DataFrame
 
names = {'First_name': ['Hanah', 'Ria', 'Jay', 'Bholu', 'Sachin']}
df = DataFrame(names, columns =['First_name'])
 
df['Status'] = df['First_name'].apply(lambda x: 'Found' if x == 'Ria' else 'Not Found')
 
print (df)

输出:

在Pandas DataFrame中应用if条件的方法

5)应用带有OR的IF条件
我们将处理一个只包含5个名字的字符串的DataFrame。Hanah, Ria, Jay, Bholu, Sachin。条件是。如果名字等于 “Ria “或 “Jay”,则赋值为’Found’。否则,如果名字不是 “Ria “或 “Jay”,则赋值为 “未找到”。

示例

from pandas import DataFrame
 
names = {'First_name': ['Hanah', 'Ria', 'Jay', 'Bholu', 'Sachin']}
df = DataFrame(names, columns =['First_name'])
 
df.loc[(df['First_name'] == 'Ria') | (df['First_name'] == 'Jay'), 'Status'] = 'Found' 
df.loc[(df['First_name'] != 'Ria') & (df['First_name'] != 'Jay'), 'Status'] = 'Not Found' 
 
print (df)

输出:

在Pandas DataFrame中应用if条件的方法

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程