pandas 按某列筛选数据,但是获得完整数据列的子数据
时间: 2023-04-01 13:03:55 浏览: 74
可以使用 pandas 的 loc 方法,例如:
假设我们有一个 DataFrame,其中有两列 A 和 B,我们想要筛选出 A 列中值为 1 的行,并且同时获得 B 列的数据,可以这样写:
df.loc[df['A'] == 1, 'B']
这样就可以得到 A 列中值为 1 的行的 B 列数据。
相关问题
pandas 按某列筛选数据,获得筛选出数据的行号
您好,您可以使用 pandas 的 loc 方法来按某列筛选数据,并获得筛选出数据的行号。例如,假设您要按列名为 "column_name" 的列筛选数据,可以使用以下代码:
df.loc[df['column_name'] == '筛选条件']
其中,"df" 是您的数据框,"column_name" 是您要筛选的列名,"筛选条件" 是您要筛选的条件。如果您想获得筛选出数据的行号,可以在 loc 方法后面加上 ".index",例如:
df.loc[df['column_name'] == '筛选条件'].index
这样就可以获得筛选出数据的行号了。希望能帮到您。
pandas如何根据某列关键词筛选数据
您可以使用 Pandas 中的 str.contains() 方法,该方法可以在一列数据中查找是否包含指定的关键词,示例代码如下:
```python
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({
'名称': ['苹果', '香蕉', '梨子', '草莓', '蓝莓'],
'价格': [5, 3, 2, 8, 10],
'产地': ['中国', '泰国', '日本', '美国', '韩国']
})
# 根据关键词筛选数据
keyword = '莓'
result = df[df['名称'].str.contains(keyword)]
print(result)
```
输出结果如下:
```
名称 价格 产地
3 草莓 8 美国
4 蓝莓 10 韩国
```
阅读全文