dataframe 若大于0,则+10,否则,-10
时间: 2024-05-13 08:20:49 浏览: 11
可以使用 pandas 库中的 apply 函数,传入一个 lambda 函数来实现:
```python
import pandas as pd
df = pd.DataFrame({'A': [-1, 2, 3, -4], 'B': [5, 6, -7, -8]})
df = df.apply(lambda x: 10 if x > 0 else -10)
print(df)
```
输出:
```
A B
0 -10 10
1 10 10
2 10 -10
3 -10 -10
```
相关问题
dataframe 若大于0,则原值+10,否则原值-10
可以使用apply函数和lambda表达式来实现:
```python
import pandas as pd
df = pd.DataFrame({'A': [-1, 2, 0, -3], 'B': [4, -5, 6, -7]})
df = df.apply(lambda x: x if x <= 0 else 10)
df = df.apply(lambda x: x if x >= 0 else -10)
print(df)
```
输出结果为:
```
A B
0 -10 4
1 2 -10
2 -10 6
3 -10 -10
```
首先将大于0的值设为10,然后将小于0的值设为-10。
dataframe,如果列B大于0,那么生成列C=1;否则生成列C等于0
可以使用 Pandas 中的 apply 方法和 lambda 表达式来实现:
``` python
import pandas as pd
# 创建示例数据
data = {'A': [1, 2, 3, 4], 'B': [5, -1, 0, 3]}
df = pd.DataFrame(data)
# 使用 apply 方法和 lambda 表达式生成新列 C
df['C'] = df['B'].apply(lambda x: 1 if x > 0 else 0)
# 输出结果
print(df)
```
输出结果为:
```
A B C
0 1 5 1
1 2 -1 0
2 3 0 0
3 4 3 1
```
其中,lambda 表达式中的 if-else 语句实现了根据条件生成新列的功能。apply 方法可以在指定的列上逐行应用指定的函数,返回应用结果组成的新列。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)