pandas根据条件添加行
时间: 2024-09-26 16:18:44 浏览: 49
Pandas库中,可以使用`loc`、`iloc`或`assign`函数根据特定条件动态地向DataFrame中添加新行。这里是一个基本的例子:
```python
import pandas as pd
# 假设我们有一个现有的DataFrame df
df = pd.DataFrame({
'A': ['foo', 'bar', 'baz'],
'B': [1, 2, 3],
'C': [4, 5, 6]
})
# 根据条件添加行
# 条件:如果B列的值等于2,就添加新的一行
new_row = {
'A': 'qux',
'B': 2,
'C': 7 # 这里假设你想设置新的C值
}
# 使用loc添加行,如果索引不存在会自动增加
df.loc[df['B'] == 2] = new_row # 如果B=2的位置已有数据,则覆盖;若无则新增
# 或者使用assign方法创建一个新的DataFrame并合并
df = df.append(df[df['B'] == 2].assign(**new_row), ignore_index=True)
#
相关问题
pandas按条件添加列
可以使用pandas的apply函数和lambda表达式来实现按条件添加列,例如:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df['C'] = df.apply(lambda row: 'Yes' if row['A'] > 2 else 'No', axis=1)
print(df)
```
输出结果为:
```
A B C
1 4 No
1 2 5 No
2 3 6 Yes
```
以上代码中,我们使用apply函数对每一行进行操作,根据条件判断是否添加新列。
pandas 按照条件添加一列
可以使用 pandas 的 loc 方法来按照条件添加一列,例如:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 添加一列 C,当 A 大于 2 时为 True,否则为 False
df.loc[df['A'] > 2, 'C'] = True
df.loc[df['A'] <= 2, 'C'] = False
print(df)
```
输出结果为:
```
A B C
0 1 4 False
1 2 5 False
2 3 6 True
```
阅读全文