详解 Pandas 的 query 函数

Pandas 的 query() 方法能够使用字符串表达式来筛选 DataFrame 数据的行,类似于 SQL 的 where 子句

import pandas as pd

df = pd.DataFrame({
    "A": [1, 3, 5, 6, 7],
    "B": [11, 10, 9, 8, 12],
    "C": ["hello", "pandas", "python", "java", "shell"],
    "D": ["2024-02-01", "2023-12-11", "2024-05-03", "2023-05-05", "2024-08-03"]
})

# print(df)

# 1.query() 的基本用法
print(df.query("A % 2 == 0"))

结果展示

  A  B     C           D
3  6  8  java  2023-05-05
# 2.在字符串表达式中使用逻辑运算(& | ~)
print(df.query("A % 2 != 0 & B % 2 == 0"))

结果展示

   A   B       C           D
1  3  10  pandas  2023-12-11
4  7  12   shell  2024-08-03
# 3.在字符串表达式中使用字符串方法
print(df.query("C.str.startswith('p')"))

结果展示

   A   B       C           D
1  3  10  pandas  2023-12-11
2  5   9  python  2024-05-03
# 4.在字符串表达式中使用日期函数
df["D"] = pd.to_datetime(df["D"], format="%Y-%m-%d")
print(df.query("D.dt.month == 5"))

结果展示

   A  B       C          D
2  5  9  python 2024-05-03
3  6  8    java 2023-05-05

你可能感兴趣的:(Pandas,pandas,python,开发语言)