pandas if else 用法
时间: 2024-05-11 20:12:07 浏览: 232
在pandas中,可以使用if-else语句来进行条件判断和数据处理。下面是一种常见的用法:
```python
import pandas as pd
# 创建一个示例DataFrame
data = {'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
# 使用if-else语句创建新的列
df['C'] = df['A'].apply(lambda x: 'even' if x % 2 == 0 else 'odd')
# 打印结果
print(df)
```
上述代码中,我们首先导入pandas库,并创建了一个示例的DataFrame。然后,使用`apply`函数结合lambda表达式,在列'A'上进行条件判断,如果满足`x % 2 == 0`,则新列'C'的值为'even',否则为'odd'。最后,打印出DataFrame的结果。
相关问题
pandas使用if,else
Pandas可以使用if和else语句来对数据进行筛选和处理。下面是一个简单的示例:
假设有一个包含学生姓名和成绩的数据表格,我们想要将成绩大于等于90分的学生标记为"A",成绩大于等于80分且小于90分的学生标记为"B",成绩小于80分的学生标记为"C"。
首先,我们可以使用Pandas的loc方法选取成绩这一列,然后使用if和else语句进行判断并标记:
```
import pandas as pd
# 创建数据表格
data = {'Name': ['Tom', 'Jack', 'Mary', 'Rose'], 'Score': [85, 92, 78, 65]}
df = pd.DataFrame(data)
# 标记成绩等级
df.loc[df['Score'] >= 90, 'Grade'] = 'A'
df.loc[(df['Score'] >= 80) & (df['Score'] < 90), 'Grade'] = 'B'
df.loc[df['Score'] < 80, 'Grade'] = 'C'
print(df)
```
运行结果如下:
```
Name Score Grade
0 Tom 85 B
1 Jack 92 A
2 Mary 78 C
3 Rose 65 C
```
可以看到,我们成功地对数据进行了筛选和处理,并将结果保存在了新的一列中。
pandas lambda 用法
pandas中的lambda函数是一种匿名函数,用于在数据框中执行特定的操作。它可以用于对数据框中的数据进行过滤、转换、聚合等操作。
以下是pandas lambda函数的用法:
1. 过滤行数据
通过lambda函数可以实现对数据框中的行数据进行过滤,例如只选择age大于18的行数据:
```python
df = df[df['age'].apply(lambda x: x > 18)]
```
2. 对数据进行转换
通过lambda函数可以对数据框中的数据进行转换,例如将字符串转换为小写:
```python
df = df.apply(lambda x: x.astype(str).str.lower())
```
3. 对数据进行聚合
通过lambda函数可以对数据框中的数据进行聚合,例如计算年龄的平均值:
```python
average_age = df['age'].apply(lambda x: x.mean())
```
4. 对数据进行映射
通过lambda函数可以对数据框中的数据进行映射,例如将性别映射为0和1:
```python
df['sex'] = df['sex'].apply(lambda x: 1 if x == 'male' else 0)
```
总之,lambda函数是一个非常强大的工具,可以在pandas中实现各种复杂的操作。
阅读全文