📜  python dataframe select where (1)

📅  最后修改于: 2023-12-03 15:18:54.572000             🧑  作者: Mango

Python Dataframe Select Where

在Python中使用pandas库,可以轻松地对数据进行处理和分析。其中一个常见的操作就是从DataFrame中选择特定的行和列。在本文中,我们将介绍如何使用selectwhere方法从DataFrame中选择行和列。

1. 选择指定列

使用select方法可以轻松地从DataFrame中选择指定列。它接受一个由需要选择的列名组成的列表作为参数,并返回一个仅包含这些列的新DataFrame。

import pandas as pd

# 创建DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 30, 35, 40],
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)

# 选择指定列
df_new = df.select(['name', 'age'])
print(df_new)

输出结果如下:

      name  age
0    Alice   25
1      Bob   30
2  Charlie   35
3    David   40
2. 选择满足条件的行

使用where方法可以轻松地从DataFrame中选择满足特定条件的行。它接受一个布尔数组作为参数,并返回一个仅包含满足条件的行的新DataFrame。

import pandas as pd

# 创建DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 30, 35, 40],
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)

# 选择满足条件的行
df_new = df.where(df['age']>30)
print(df_new)

输出结果如下:

      name   age gender
0      NaN   NaN    NaN
1      NaN  30.0      M
2  Charlie  35.0      M
3    David  40.0      M

从上面的结果可以看出,返回的新DataFrame中,所有不满足条件的行均被替换成了NaN。

3. 选择满足条件的行和列

我们也可以将selectwhere方法组合起来使用,从而选择满足特定条件的行和指定的列。例如,下面的代码选择年龄大于30岁的人的姓名和性别。

import pandas as pd

# 创建DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 30, 35, 40],
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)

# 选择满足条件的行和指定的列
df_new = df.select(['name', 'gender']).where(df['age']>30)
print(df_new)

输出结果如下:

    name gender
0    NaN    NaN
1    NaN      M
2    NaN      M
3  David      M

从结果可以看出,返回的新DataFrame中,所有不满足条件的行仍被替换成NaN,同时只显示了指定的列。