如果我现在索引位人名,一列数据为年龄,如何取出>50岁的人的人名
时间: 2024-03-08 16:51:20 浏览: 40
假设你的 DataFrame 名称为 `df`,人名列的名称为 `name`,年龄列的名称为 `age`,你可以使用如下的代码来获取年龄大于 50 岁的人的姓名:
```python
# 获取年龄大于 50 岁的人的姓名
result = df.loc[df['age'] > 50, 'name']
```
其中,`df['age'] > 50` 表示筛选出年龄大于 50 的行,`df.loc` 方法用于进行行列索引,第一个参数表示行的条件,第二个参数表示列的条件,因此 `df.loc[df['age'] > 50, 'name']` 表示选取年龄大于 50 岁的人的姓名这一列。
如果你需要获取的是多个列,可以将列名放入一个列表中,如下所示:
```python
# 获取年龄大于 50 岁的人的姓名和年龄
result = df.loc[df['age'] > 50, ['name', 'age']]
```
其中,`['name', 'age']` 表示选取姓名和年龄这两列。
相关问题
一个dataframe数据,命名为df1。df1中有两列数据,一列是人名,一列是年龄。我想在人名的那一栏中检索出张三,将对应的一行移动至数据表的最后,如何实现
您可以使用以下代码实现这个需求:
```python
# 导入pandas库
import pandas as pd
# 创建示例数据
df1 = pd.DataFrame({'name': ['张三', '李四', '王五'], 'age': [20, 25, 30]})
# 查找名字为'张三'的行
index = df1.loc[df1['name'] == '张三'].index.tolist()[0]
# 将此行删除并追加到数据表的最后
df1 = pd.concat([df1.drop(index), df1.iloc[index:index+1]])
print(df1)
```
运行结果为:
```
name age
1 李四 25
2 王五 30
0 张三 20
```
其中,通过 `loc` 方法查找满足条件的行,并使用 `index.tolist()[0]` 获取它的索引位置,再通过 `concat` 方法将此行移动至数据表的最后。
一个dataframe数据,命名为df。df中有两列数据,一列是人名,一列是年龄。我想在人名的那一栏中检索出张三,将对应的一行移动至数据表的最后,如何实现
您可以使用pandas的iloc、drop和append方法来实现这个任务。首先,使用iloc方法获取行索引,然后使用drop方法删除这行。接下来,将该行数据使用append方法添加到数据表的最后。具体代码如下:
```
# 获取张三的行索引
index = df[df['人名'] == '张三'].index[0]
# 删除该行数据
df = df.drop(index)
# 添加到数据表的最后
df = df.append(df.loc[index], ignore_index=True)
```
这个代码会将第一个匹配到的张三行移动到数据表的最后。如果有多个张三行,它只会移动第一个匹配行。
阅读全文
相关推荐

















