另一个变满足条件的数据 行数据合并到这个表,举例简单的
时间: 2024-11-09 09:21:18 浏览: 11
Python数据分析实践:数据处理操作groupby分组new.pdf
在Python的pandas库中,如果你想将满足特定条件的行从另一个DataFrame添加到现有表格中,可以使用`concat()`、`append()`或者`merge()`函数。这里给出一个简单例子:
假设我们有两个DataFrame `df1` 和 `df2`,它们都有一个共同的键(如`id`),并且你想将`df2`中`value`大于某个值(比如`5`) 的行添加到`df1`。
首先,`df1` 看起来像这样:
```python
df1 = pd.DataFrame({
'id': [1, 2, 3],
'value': [3, 2, 4]
})
print(df1)
```
输出:
```
id value
0 1 3
1 2 2
2 3 4
```
然后,`df2` 包含一些新的行:
```python
df2 = pd.DataFrame({
'id': [1, 4, 5],
'value': [7, 8, 9]
})
print(df2)
```
输出:
```
id value
0 1 7
1 4 8
2 5 9
```
现在,我们可以使用`merge` 或者 `query` 来合并满足条件的数据:
```python
# 使用 merge (内连接,只包含 df1 中有的 id,但 value 可能更新)
new_df = pd.merge(df1, df2, on='id', how='left', condition='df2.value > 5')
# 或者使用 query(直接筛选 df2)
# 如果你已经有了一个具体的阈值,比如 5
new_df = df1.append(df2.query('value > 5'))
# 结果会像这样:
print(new_df)
```
输出:
```
id value
0 1 3
1 2 2
2 3 4
0 1 7
1 4 8
2 5 9
```
在这个例子中,`new_df` 包含了 `df1` 所有的原始行,以及 `df2` 中 `value` 大于5的行。
阅读全文