dataframe中,如何列B内容为空则执行列B赋值为1的操作,否则不执行操作
时间: 2023-04-07 08:01:26 浏览: 177
可以使用 pandas 库中的 fillna() 方法,将列 B 中的空值填充为 1,代码如下:
df['B'] = df['B'].fillna(1)
这样,如果列 B 中存在空值,则会将其填充为 1,否则不执行任何操作。
相关问题
DataFrame筛选某列不为空的数据
要筛选DataFrame中某列不为空的数据,可以使用`dropna()`方法。下面是一个示例代码:
```python
import pandas as pd
# 创建一个示例DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, None, 20],
'City': ['Beijing', 'Shanghai', 'Guangzhou', None]}
df = pd.DataFrame(data)
# 筛选Age列不为空的数据
filtered_df = df.dropna(subset=['Age'])
print(filtered_df)
```
输出结果为:
```
Name Age City
0 Alice 25.0 Beijing
1 Bob 30.0 Shanghai
3 David 20.0 None
```
PYTHON DATAFRAME 某列以A开头则B列保存为F,B开头则为M
在Python的Pandas库中,如果你想根据DataFrame某列(假设为`column_A`)的值来决定将另一个列(比如`column_B`)的内容存储到新列(例如`new_column`),可以使用条件赋值或者apply函数结合if-else语句来实现。下面是一个简单的例子:
```python
import pandas as pd
# 假设你有一个DataFrame df
df = pd.DataFrame({
'column_A': ['A', 'B', 'A', 'B', 'A'],
'column_B': [10, 20, 30, 40, 50]
})
# 创建一个新的列并根据column_A的值更新其内容
df['new_column'] = np.where(df['column_A'].str.startswith('A'), 'F', 'M')
# 或者使用apply()和lambda函数
df['new_column'] = df.apply(lambda row: 'F' if row['column_A'].startswith('A') else 'M', axis=1)
# 结果:
# column_A column_B new_column
# 0 A 10 F
# 1 B 20 M
# 2 A 30 F
# 3 B 40 M
# 4 A 50 F
```
在这个示例中,如果`column_A`的值以字母'A'开头,那么对应的`new_column`就设置为'F';如果以'B'开头,则设置为'M'。
阅读全文