DataFrame找到A列的值大于25的行,并获取对应的B列的值,另一个DataFrame中b列等于B,对应a列的值
时间: 2024-09-17 08:09:41 浏览: 43
根据DataFrame某一列的值来选择具体的某一行方法
5星 · 资源好评率100%
在Pandas库中,你可以使用`loc`或`query`函数来完成这个任务。假设你有两个DataFrame,分别命名为df1和df2,它们都有'A', 'B'这两列:
```python
# 假设 df1
df1 = pd.DataFrame({'A': [10, 26, 30, 15], 'B': [100, 50, 75, 20]})
# 假设 df2
df2 = pd.DataFrame({'A': [20, 35, 40], 'B': ['match_1', 'match_2', 'match_3']})
```
首先,你需要找出df1中'A'列大于25的行,可以这样做:
```python
filtered_df1 = df1[df1['A'] > 25]
```
接着,如果你想要获取这些行对应的'B'列值,直接使用`B`列名即可:
```python
values_from_df1 = filtered_df1['B']
```
对于df2,如果想找到"B"列等于从df1筛选出的那些"B"值,你可以这样匹配:
```python
matches = df2[df2['B'].isin(values_from_df1)]
```
现在`matches` DataFrame包含了df2中"B"列等于df1中"A"列大于25时'B'列对应的那些行。
阅读全文